在Python中的列表就相对与其他语言中数字数组,起下标为从0开始计算。在python在通过[]号把其中的元素集合起来。列表中的值可以是任何对象,比如空值,数值,字符串子列表。列表也可以相其他语言的的数组一样进行取值,索引,分片,求长度。并且可以去长度和合并而且可以进行插入,拿取,排列,搜索,反转等操作。
1.1列表的定义
list1=[‘root’,’home’,’usr’,’etc’,’bin’,’boot’]//字符串列表
List2=[1,3,5,7,9] //数字列表
List3=[‘root’,[‘home’,’etc’,’bin’,’boot’]] //包含子列表的列表
List4=[] //空列表。
1.2列表的一些常规操作
1.2.1列表的访问。
如果想访问一个列表的某个值怎么办呢,其实很简单,直接通过下标访问即可,在python在下标是从0开始计数的,比如list1中root的下标是0,home的下标是1,urs的是2以此类推。如果我们想访问boot这个值,直接list[5]即可。
例子1
>>> list=['root','home','usr','etc','boot']
>>>printl_root=list[0]
root
>>>printl_homel=list[1]
Home
1.2.1列表的分片。
下面我们进一步思考,既然列表可以通过下标的方式进行访问,如果我们想访问其中相邻的几个列表怎么办,list[0],list[1],list[2]固然是个好方法,但是是不是有点麻烦。其实还是有简便方法的,我们可以对列表进行分片。
List1=[‘ bin’,‘boot,’dev’,‘etc’,‘home’,‘lib’,‘media’‘mnt’]
问题1:如果我想访问列表中前三个值怎么办。?
问题2:如果我想访问从字符串boot到lib中的值怎么办?
问题3:如果我想访问从第一个到某个值怎么办?
问题4:如果我想访问从某个值到列表的最后一个值怎么办呢?
问题5:如果我想访问奇数数值,或者偶数数值呢,又或者固定步长的数值呢。
例1:访问列表前3个数值
>>> list1=['bin','boot','etc','home','lib','midia','mnt']
>>>printl1=list1[0:3]
['bin', 'boot', 'etc']
另一种方法
>>>printl1=list1[:3]
['bin', 'boot', 'etc']
例子2:访问从字符串boot到lib中的值
>>> list2=['bin','boot','etc','home','lib','midia','mnt']
>>> print l2=list2[1:5]
注意:为什么是5而不是4呢?原来在列表中‘:’号的右侧的值是不被访问的,而是从‘:’号左边的的值开始计数,但是不包括:右边值的。相当于从‘:’左边的值开始一直到‘:’号右边的值的前一位取值。
例子3访问从第一个到某个值,访问前4个值。
List3=['bin','boot','etc','home','lib','midia','mnt']
>>> print list3[:4]
['bin', 'boot', 'etc', 'home']]
例4:访问从某个值到列表的最后,访问从etc开始一直到最后的值mnt。
List4=['bin','boot','etc','home','lib','midia','mnt']
>>> print list4[2:]
['etc', 'home', 'lib', 'midia', 'mnt']
例5:访问奇数数值,或者偶数数值呢,又或者固定步长的数值呢。
访问奇数位所在值
5.1list5=['bin','boot','etc','home','lib','midia','mnt']
Print list’[1::2] 相当于:从第二位boot开始访问一直访问到最后‘:’步长为2.
['boot', 'home', 'midia']
5.2 同理访问奇数位置
>>> print list1[0::2]
['bin', 'etc', 'lib', 'mnt']
其他负数相关:其实索引也可以是负数
List=[1,2,3,4,5,6,7]
例如访问6,7的值,访问倒数前3个的值日。
print list[-1]
7
Print list[-2]
6
Print list[-1:-4]