列表是一个有序的对象集合,是Python中使用最灵活也最频繁的数据类型,和C语言中的数组类似,不过列表中存储的对象类型可以不同。
1. 创建列表
1 2 3 4 5 |
list1= [] # 创建空列表 list2= list() # 创建空列表 list3= ['a','b', 123] # 创建初始化列表 list4= list('Hello!') # 使用已有的可迭代对象创建列表 print(list1, list2, list3, list4) # [] [] ['a', 'b', 123] ['H', 'e', 'l', 'l', 'o', '!'] |
2. 访问列表元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
list1= ['a','b', 123] # 1.遍历列表 for value in list1: print(value) for key, value in enumerate(list1): print(key, value, sep=' => ') # 2.访问列表中的单个元素 list1[1] # 'b' list1[0] # 'a' list1[-1] # 123 # 3.使用切片获取子列表 list1[:1] # ['a', 'b'] list1[-1:1] # [] list1[-1:1:-1] # [123] |
3. 更新列表
1 2 3 4 5 6 7 8 9 10 11 12 13 |
list1= ['a','b', 123] # 1. 添加新元素 list1.append('c') # 在列表末尾添加一个元素 list1.insert(1, 'd') # 在列表指定索引位置之前插入一个元素 list1.extend(['e','f']) # 在列表之后追加一个序列 print(list1) # ['a', 'd', 'b', 123, 'c', 'e', 'f'] # 2. 删除列表中的元素 list1.pop() # 删最后一个元素 list1.pop(1) # 指定下标,删除指定的元素,如果删除一个不存在的元素会报错 list1.remove('a') # 删除list1 里面的一个元素,有多个相同的元素,删除第一个 del list1[2] # 删除指定下标对应的元素 print(list1) # ['b', 123, 'e'] |
4. Python内置的列表操作符/函数
表达式 | 说明 | 示例 | 结果 |
list1 + list2 | 拼接两个列表 | [1, 2] + [3, 4] | [1, 2, 3, 4] |
list*n | 列表元素重复n次 | [1,2]*2 | [1, 2, 1, 2] |
x in list | 判断对象x是否为list的元素 | 1 in [1, 2, 3] | True |
for x in list: | 循环遍历列表中的元素 | for x in [1, 2]: print(x) | 1 2 |
len(list) | 计算list的元素个数 | len([1, 2] ) | 2 |
max(list) | 计算list中的最大值 | max([1, 2, 3]) | 3 |
min(list) | 计算list中的最小值 | min([1, 2, 3]) | 1 |
list(seq) | 使用现有可迭代对象创建列表 | list(‘hi!’) | [‘h’, ‘I’, ‘!’] |
5. list对象方法
方法名称 | 说明 |
append(x) | 在列表末尾追加元素x |
extend(iterable) | 在列表末尾追加iterable对象的所有元素 |
insert(i, x) | 在列表的i索引位置插入元素x |
remove(x) | 删除列表中第一个值为x的元素 |
pop([i]) | 删除列表中指定位置的元素,并返回待删除的元素值 |
clear() | 清空列表 |
index(x,[, start [,end]]) | 返回第一次出现x值的索引位置 |
count(x) | 返回x在列表中出现的次数 |
sort(key=None, reverse= False) | 排序列表 |
reverse() | 在原址上反转列表中的元素 |
copy() | 拷贝列表 |