写在之前
大家好,这里是零基础学习 Python 系列,在这里我将从最基本的Python 写起,然后再慢慢涉及到高阶以及具体应用方面。我是完全自学的 Python,所以很是明白自学对于一个人的考验,所以在这里我会尽我最大的努力,把 Python 尽可能简单的表述清楚,让更多想要学习 Python 的朋友能够入门。同时写这个教程也算是对自己之前所学知识的一个巩固和提高,喜欢的朋友们可以点个关注,有问题欢迎随时和我交流。本文所有的代码编写均是Python3 版本。
列表定义
之前的文章里我们已经讲过了数字和字符串,它们是两种很基本的对象,今天要学的 list 也是一种对象,它在 Python 中具有非常强大的功能。
在 Python 中,列表用一对方括号 -- [] 表示,在方括号里你可以数字,字符串也可以是其他对象,甚至可以是多种不同的对象。除此以外,列表中元素的个数可以无限大,当然这是理想状态,我们总还是要看硬件设备的脸色行事。
>>> a = []
>>> a
[]
>>> b = ['1',2,'abcd']
>>> b
['1',2,'abcd']
>>> c = [1,'asd',[1,2,3]]
>>> c
[1,'asd', [1,2,3]]
索引和切片
还记得什么是索引和切片吗?如果忘记了,请回头去看这篇文章 --
零基础学习 Python 之字符串
。
列表和字符串一样,都是序列,列表里的元素也是有顺序的,所以也是有索引和切片的,看看下面的例子就明白了。
>>> a = [1,'2','rocky']
>>> a[]
1
>>> a[1]
'2'
>>> a[:3]
[1,'2','rocky']
>>> a[1:3]
['2','rocky']
>>> a[2][:3]
'roc'
由上面的例子我们可以看出来,其实列表里的索引和序列与字符串里的是一样的,我们完全可以把之前在字符串中的理解照搬过来,所以列表也可以从右向左编号,依次是 -1,-2,-3...但是如果要是切片的话,这里要注意了,请看下面的例子:
>>> str = ['abc','bcd','123']
>>> str[-3:-1]
['abc','bcd']
>>> str[-1:-3]
[]
看明白了吗?序列都是从左向右排,不管你的下标是正的还是负的都是这个规律。
当然了序列里还可以跳步,其实它的完整的写法是 list[start:end:step],默认step = 1 。
>>> str = [1,2,3,4,5,6,7,8]
>>> str[::2]
[1, 3, 5, 7]
在这里再多补充一点, step 也是可以等于负数的,str[::-1] 表示的是从列表的右边看这个列表,然后按照 step = 1 去列表中的元素,当然 step 还可以等于 -2,-3,具体是多少看到时候看心情。
>>> str = [1,2,3,4,5,6,7,8]
>>> str[::-1]
[8,7,6,5,4,3,2,1]
>>> str[::-2]
[8,6,4,2]
列表操作
列表是序列,但凡是序列都有基本的几种操作,比如在字符串的时候我们就讲过它的几种操作,列表的基本操作和字符串的差不多,在这基础上,列表还有其独特的操作,对于基本操作,比如连接操作等我在这里就不讲了,忘记的可以求看前面的文章,我在这里只是说一下列表独特的操作。
列表与字符串一个很大的不同是,字符串不可修改,但是列表可以修改。
>>> str = ['python','c++','java']
>>> str[] ='c#'
>>> str
['c#','c++','java']
>>> name ='rocky'
>>> name[] ='R'
Traceback (most recent call last):
File"", line1,in
TypeError:'str'object doesnotsupport item assignment
其次,除了可以修改元素以外,列表还可以继续给自己添加元素,但是不是说列表随便可以给自己加戏,必须要用 append() 方法向列表中追加元素,追加到末尾。
>>> str = ['python','c++','java']
>>> str[3] ='c#'
Traceback (most recent call last):
File"", line1,in
IndexError:list assignment index out of range
>>> str.append('c#')
>>> str
['python','c++','java','c#']
写在最后
感谢你能看到这里,希望我写的东西能够让你有到收获,但是我还是希望我在文章里插入的代码,你们能自己动手试一下,都很简单。原创不易,每一个字,每一个标点都是自己手敲的,每次基本都要花三四个小时的时间去做这件事,初心是为了分享,所以希望大家能多给点支持,该关注关注,该点赞点赞,该转发转发,有什么问题欢迎在后台联系我,也可以在公众号找到我的微信加我。
The end。
希望大家能够多多关注我
扫一扫下方的二维码
把我带回家,嘤嘤嘤…
领取专属 10元无门槛券
私享最新 技术干货