python中列表用来表示有序可变元素的集合,元素可以是任意数据类型。
1.列表的定义
列表由一对中括号进行定义,元素与元素直接使用逗号隔开。
a = [] # 空列表
b = ["a", "b", "cde"] # 字符串列表项
c = [1, "b", "c"] # 数字列表项
d = [1, "b", []] # 列表列表项
e = [1, "b", [2, "c"]] # 列表作为列表的元素叫做列表的嵌套
L = ['a', 'b', 'c'] # 功能集案例
print('a的类型为:', type(a)) # a的类型为: <class 'list'>
print('b的类型为:', type(b)) # b的类型为: <class 'list'>
print('c的类型为:', type(c)) # c的类型为: <class 'list'>
print('d的类型为:', type(d)) # d的类型为: <class 'list'>
print('e的类型为:', type(e)) # e的类型为: <class 'list'>
python中list
表示列表数据类型。
2.列表的拼接
像字符串一样,列表之间可以进行加法运算实现列表的拼接,列表可以和整数进行乘法运算实现列表的重复。
>>> [1,2,3] + [4,5,6]
[1,2,3,4,5,6]
>>> [1,2,3] * 3
[1,2,3,1,2,3,1,2,3]
注意:上述两种操作都是生成新的列表对象。
3.列表的索引和切片
序列的切片操作完全一致,参见字符串
注意嵌套列表的元素获取
>>> ls = [1,2,['a','b']]
>>> ls[2][0]
'a'
4.列表的常用操作
python中的列表操作非常灵活,是非常重要和经常使用的数据类型。
4.1 修改元素
列表的中的元素可以进行修改,只需使用索引赋值即可。
>>> l = [1,2,3]
>>> l[1] = 'a'
>>> print(l)
>>> [1,'a',3]
4.2 增加元素
给列表添加元素需要使用到列表的方法
.append(el)
,在列表的末尾添加一个元素
>>> l = [1,2,3]
>>> l.append(4)
>>> print(l)
>>> [1,2,3,4]
.insert(index, el)
,在列表的指定索引出插入一个元素
>>> l = [1,2,3]
>>> l.insert(0,0)
>>> print(l)
>>> [0,1,2,3]
.extend(iterable)
,扩展列表,元素为传入的可迭代对象中的元素
>>> l = [1,2,3]
>>> l.extend([4,5,6])
>>> print(l)
>>> [1,2,3,4,5,6]
4.3 删除元素
.pop(index=-1)
,删除指定索引的元素,并返回该元素,没有指定索引默认删除最后一个元素
>>> l = [1,2,3]
>>> l.pop()
>>> 3
>>> print(l)
>>> [1,2]
>>> l.pop(0)
>>> print(l)
>>> [2]
.remove(value)
,从列表中删除第一个指定的值value,如不不存在value则报错。
>>> l = [1,2,3,1]
>>> l.remove(1)
>>> print(l)
>>> [2,3,1]
.clear()
,清空列表,原列表变成空列表
>>> l = [1,2,3]
>>> l.clear()
>>> print(l)
>>> []
5.列表的其他方法
.copy()
返回一个列表的浅拷贝。在讲可变与不可变类型的时候再详细讨论。
.count(value)
,统计列表中value的出现次数
>>> l = [1,2,3,1]
>>> l.count(1)
>>> 2
.index(self, value, start=0, stop=9223372036854775807)
,返回列表中指定值value的第一个索引,不存在则报错
>>> l = [1,2,3,1]
>>> l.index(1)
>>> 0
>>> l.index(1,start=1)
>>> 3
.reverse()
,翻转列表元素顺序
>>> l = [1,2,3]
>>> l.reverse()
>>> print(l)
>>> [3,2,1]
.sort(key=None, reverse=False)
,对列表进行排序,默认按照从小到大的顺序,当参数reverse=True时,从大到小。注意列表中的元素类型需要相同,否则抛出异常。
>>> l = [2,1,3]
>>> l.sort()
>>> print(l)
>>> [1,2,3]
>>> l.sort(reverse=True)
>>> print(l)
>>> [3,2,1]
6.字符串和列表的转换
字符串是字符组成的序列,可以通过list
函数将字符串转换成单个字符的列表。
>>> s = 'hello world!'
>>> s_list = list(s)
>>> print(s_list)
>>> ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!']
由字符组成的列表可以通过字符串的join
方法进行拼接
# 接上面的案例
>>> ''.join(s_list)
>>> 'hello world!'