python笔记9-数据类型:列表(List)
列表取值:索引
List1 = ['Google', 'Runoob', 'Taobao', 'TanMao', 'JingDong']
print("取第2个值", List1[1])
print("取最后一个值", List1[-1])
输出结果
取第2个值 Google
取最后一个值 JingDong
列表取值:切片
List1 = ['Google', 'Runoob', 'Taobao', 'TanMao', 'JingDong']
print("从第2个开始取到第5个", List1[1:5])
print("从第2个开始取到第5个,步长为2", List1[1:5:2])
print("从倒数第2个开始取到第5个", List1[-2:5])
输出结果
从第2个开始取到第5个 ['Runoob', 'Taobao', 'TanMao', 'JingDong']
从第2个开始取到第5个,步长为2 ['Runoob', 'TanMao']
从倒数第2个开始取到第5个 ['TanMao', 'JingDong']
列表更新:赋值
list = ['physics', 'chemistry', 1997, 2000]
list[2] = 1998
输出结果
['physics', 'chemistry', 1998, 2000]
列表更新:新增
list1 = ['Runoob']
list1.append('Taobao') # append()在列表后方新增一个值
print(list1)
list2 = ['TanMao', 'JingDong'] # extend()在列表后方新增多个值
list1.extend(list2)
print(list1)
输出结果
['Runoob', 'Taobao']
['Runoob', 'Taobao', 'TanMao', 'JingDong']
列表更新:插入
List1 = ['Google', 'Taobao', 'TanMao', 'JingDong']
List1.insert(1, 'Runoob')
print(List1)
输出结果
['Google', 'Runoob', 'Taobao', 'TanMao', 'JingDong']
列表更新:删除
list1 = ['Google', 'Runoob', 'Taobao', 'TanMao', 'JingDong']
list1.remove('Google') # 删除指定元素
print(list1)
del list1[0] # 按索引删除
print(list1)
list1.pop(0) # 按索引删除
print(list1)
list1.pop() # 删除最后一个元素
print(list1)
输出结果
['Runoob', 'Taobao', 'TanMao', 'JingDong']
['Taobao', 'TanMao', 'JingDong']
['TanMao', 'JingDong']
['TanMao']
列表更新:清空
List1 = ['Google', 'Runoob', 'Taobao', 'TanMao', 'JingDong']
List1.clear()
print("清空:", List1)
输出结果
清空: []
列表更新:排序
list1 = ['1', '2', '4', '3']
list1.sort() # 按元素顺序排序
print(list1)
list1.reverse() # 反向排序
print(list1)
输出结果
['1', '2', '3', '4']
['4', '3', '2', '1']
列表更新:高级排序
list1 = ['aardvark', 'acme', 'abalone', 'adds', 'aerate']
list1.sort(key=len) # 指定关键字,判断关键字的属性
print(list1)
list2 = ['aardvark', 'acme', 'abalone', 'adds', 'aerate']
list2.sort(reverse=True) # 指定关键字,判断关键字的真假
print(list2)
输出结果
['acme', 'adds', 'aerate', 'abalone', 'aardvark']
['aerate', 'adds', 'acme', 'abalone', 'aardvark']
列表复制:浅拷贝(copy.copy)
List1 = ["1", "2", "3"]
List2 = List1
List2[2] = "4"
print("List1打印:", List1)
print("List2打印:", List2)
print("List1内存地址:", id(List1))
print("List2内存地址:", id(List2))
输出结果
List1打印: ['1', '2', '4']
List2打印: ['1', '2', '4']
List1内存地址: 2377288648704
List2内存地址: 2377288648704
列表复制:深拷贝(copy.deepcopy)
import copy
List1 = ["1", "2", "3"]
List2 = copy.deepcopy(List1)
List2[2] = "4"
print("List1打印:", List1)
print("List2打印:", List2)
print("List1内存地址:", id(List1))
print("List2内存地址:", id(List2))
打印结果
List1打印: ['1', '2', '3']
List2打印: ['1', '2', '4']
List1内存地址: 2043463271104
List2内存地址: 2043463271424
其他操作
| 操作 | 表达式 | 结果 |
|---|---|---|
| 长度 | len([1, 2, 3]) | 3 |
| 相加 | [1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] |
| 相乘 | ['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] |
| 资格检查 | 3 in [1, 2, 3] | True |
| 迭代 | for x in [1, 2, 3]: print x | 1 2 3 |
| 最大值 | max([1, 2, 3]) | 3 |
| 最小值 | min[1, 2, 3]) | 1 |
| 元素出现次数统计 | x = [[1, 2], 1, 1, [2, 1, [1, 2]]] print(x.count(1)) print(x.count([1, 2])) |
2 1 |
| 元素第一次出现时的索引 | list1 = ['a', 'b', 'c', 'b'] print(list1.index('b')) |
1 |
拓展
序列:列表、元祖、字符串。列表可变,元祖和字符串不可变
通用操作:索引、切片、资格检查、长度、最大值、最小值
可变操作:赋值、更新、删除

浙公网安备 33010602011771号