列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
>>> li1 = [1,2,3,4,5]
>>> li2 = ['a','b','c']
>>> li3 = [1,2,3,'a','B','!#']
>>>dir(li1) #查看列表常用的方法,使用help()查看每个方法的说明。
列表常用方法:
append(object)方法:在列表末尾添加新的对象。
>>> li = [1,'a']
>>> li.append('!')
>>> li
[1, 'a', '!']
>>>
count(value)方法: 用于统计某个元素在列表中出现的次数。
>>> li
[1, 1, 'a', 1, 'a', 'b']
>>> li.count(1) #统计数字 1,在列表中出现的次数
3
>>> li.count('a') #统计字符 'a' ,在列表中出现的次数
2
>>>
extend(iterable)方法:在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
>>> a = [1,2,3]
>>> b = ['a','b','c']
>>> a.extend(b) #在列表a的末尾添加另一个列表b,依次展开
>>> a
[1, 2, 3, 'a', 'b', 'c']
>>> a.extend(['!','@']) #在列表a的末尾添加另一个列表
>>> a
[1, 2, 3, 'a', 'b', 'c', '!', '@']
>>> a.extend((7,8,9)) #在列表a中添加一个元组
>>> a
[1, 2, 3, 'a', 'b', 'c', '!', '@', 7, 8, 9]
>>>
index(value, [start, [stop]])方法:从列表中找出某个对象第一个匹配项的索引位置,如果这个对象不在列表中会报一个异常。
>>> li
[1, 1, 'a', 1, 'a', 'a', 'b', 1, 2, 9, 9, 9]
>>> li.index('a') #在列表中搜索元素 "a"的第一个索引
2
>>> li.index('a',3) #在列表中的第3个元素开始搜索 'a'的的第一个索引
4
>>> li.index('a',0,5) #在列表0到5的元素中搜索 'a'的第一个索引
2
>>>
insert(index, object)方法:将指定对象插入到列表中指定的索引位置。
>>> li = [1,2,3,'a','b']
>>> li.insert(2,'c') #在列表第二对象后边插入一个 'c'。
>>> li
[1, 2, 'c', 3, 'a', 'b']
>>>
pop([index])方法:移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
>>> li
[1, 2, 'c', 3, 'a', 'b']
>>> li.pop() #默认删除最后一个对象'b',删除的对象可以用变量接,如:a=li.pop()或者a=list(li.pop())
'b'
>>> li
[1, 2, 'c', 3, 'a']
>>> li.pop(2) #删除列表中索引为2的对象
'c'
>>> li
[1, 2, 3, 'a'] #最终列表会被修改
>>>
remove(value)方法:移除列表中某个值的第一个匹配项。
>>> li = [1,'a',2,'a',3,'!',4]
>>> li.remove('!') #移除列表中的第一个对象 '!'
>>> li
[1, 'a', 2, 'a', 3, 4]
>>> li.remove('a') #移除列表中的第一个对象 'a',后边一个对象就没被移除
>>> li
[1, 2, 'a', 3, 4]
>>>
reverse()方法:用于反转列表中元素。
>>> li = [1, 2,'$$',3, 4,'a','b','d','c']
>>> li.reverse() #反转列表里面的元素
>>> li
['c', 'd', 'b', 'a', 4, 3, '$$', 2, 1]
>>> li.reverse() #反转列表里面的元素
>>> li
[1, 2, '$$', 3, 4, 'a', 'b', 'd', 'c']
>>>
sort(key=None, reverse=False)方法:对列表进行排序。
>>> li = [11,2,3,24,55,9]
>>> li.sort() #默认是正向排序
>>> li
[2, 3, 9, 11, 24, 55]
>>> li = [11,2,3,24,55,9]
>>> li.sort(reverse=True) #添加参数reverse=True,会倒着排序。
>>> li
[55, 24, 11, 9, 3, 2]
>>> li = ['!', '@@@', 'RT6','******', 'a', 'bb']
>>> li.sort(key=len) #根据元素的字符长度进行正向排序。
>>> li
['!', 'a', 'bb', '@@@', 'RT6', '******']
>>> li = ['!', '@@@', 'RT6','******', 'a', 'bb']
>>> li.sort(key=len,reverse=True) #添加了参数,根据元素的字符长度进行反向排序。
>>> li
['******', '@@@', 'RT6', 'bb', '!', 'a']
>>>
列表切片:
利用切片来进行提取信息,进行相关的操作。
>>> li = [1, 'a', 2, 'b',3,'c',4,'d']
>>> li[:] #取出列表中所有的对象。
[1, 'a', 2, 'b', 3, 'c', 4, 'd']
>>> li[1:3] #取出索引1到3的对象,左闭右开。
['a', 2]
>>> li[::2] #以步长为2取出列表中所有的对象
[1, 2, 3, 4]
>>> li[::-1] #以步长为-1取出列表中所有的对象,倒着取对象
['d', 4, 'c', 3, 'b', 2, 'a', 1]
>>>
交换对象的位置:
>>> li = ['a1',1]
>>> li[0],li[1]=li[1],li[0] #交换位置
>>> li
[1, 'a1']
>>>