列表
列表里可以包含数字、列表、字典、集合、元组。
新建列表
# 新建一个空列表
array0 = []
array1 = list()
# 新建列表
array2 = [1, 2, 3, 4, 5]
array3 = list("Hello")
array4 = ["Hello", 1, 1.2, [0], {"key": "value"}, {1, 2, 3}, (1, 2, 3)]
# 列表推导式
array5 = [x for x in range(1, 10)]
array6 = [i for i in range(1, 10) if i % 2 == 0]
print(array0)
print(array1)
print(array2)
print(array3)
print(array4)
print(array5)
print(array6)
列表的迭代
array = [i for i in range(1, 11)]
# 列表的迭代
for i in array:
print(i, end=" ")
# 换行
print()
# 按下标索引进行遍历
for i in range(len(array)):
print(array[i], end=" ")
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
索引
正向索引
# 正向索引
array = [x for x in range(1, 11)]
print("array[0]:{}".format(array[0]))
print("array[3]:{}".format(array[3]))
array[0]:1
array[3]:4
逆向索引
# 逆向索引
array = [x for x in range(1, 11)]
print("array[-1]:{}".format(array[-1]))
print("array[-5]:{}".format(array[-5]))
array[-1]:10
array[-5]:6
切片
列表名[请示下标,终止下标,步长]
注:前闭后开区间
# 列表的切片
array = [x for x in range(1, 11)]
a = array[0]
b = array[-2]
c = array[1:]
d = array[3:6]
e = array[6:2:-1]
f = array[::-1]
g = array[:5:-1]
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
print(g)
1
9
[2, 3, 4, 5, 6, 7, 8, 9, 10]
[4, 5, 6]
[7, 6, 5, 4]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
[10, 9, 8, 7]
更新列表(添加元素)
# 初始化列表
array = ["red", "green", "blue"]
print(array)
# 在列表末尾添加新的对象
array.append("black")
print(array)
# 将对象插入列表指定位置
array.insert(2, "new object")
print(array)
# 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
array1 = [1,2,3,4,5]
array.extend(array1)
print(array)
# 列表组合
array2 = ['a','b','c']
array = array + array2
print(array)
# 列表重复
array = array*2
print(array)
[‘red’, ‘green’, ‘blue’]
[‘red’, ‘green’, ‘blue’, ‘black’]
[‘red’, ‘green’, ‘new object’, ‘blue’, ‘black’]
[‘red’, ‘green’, ‘new object’, ‘blue’, ‘black’, 1, 2, 3, 4, 5]
[‘red’, ‘green’, ‘new object’, ‘blue’, ‘black’, 1, 2, 3, 4, 5, ‘a’, ‘b’, ‘c’]
[‘red’, ‘green’, ‘new object’, ‘blue’, ‘black’, 1, 2, 3, 4, 5, ‘a’, ‘b’, ‘c’, ‘red’, ‘green’, ‘new object’, ‘blue’, ‘black’, 1, 2, 3, 4, 5, ‘a’, ‘b’, ‘c’]
删除列表
# 初始化列表
array = list("HelloWorld!")
print(array)
# 删除下标为1的元素
del array[1]
print(array)
# 删除列表最后一个元素
array.pop()
print(array)
# 删除列表第4个元素
array.pop(3)
print(array)
# 移除某个值的第一个匹配项
array.remove('H')
print(array)
# 清空列表
array.clear()
print(array)
# 删除列表(垃圾回收)
del array
[‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘W’, ‘o’, ‘r’, ‘l’, ‘d’, ‘!’]
[‘H’, ‘l’, ‘l’, ‘o’, ‘W’, ‘o’, ‘r’, ‘l’, ‘d’, ‘!’]
[‘H’, ‘l’, ‘l’, ‘o’, ‘W’, ‘o’, ‘r’, ‘l’, ‘d’]
[‘H’, ‘l’, ‘l’, ‘W’, ‘o’, ‘r’, ‘l’, ‘d’]
[‘l’, ‘l’, ‘W’, ‘o’, ‘r’, ‘l’, ‘d’]
[]
查找列表(元素)
# 初始化列表
array = list("HelloWorld!")
print(array)
# 统计某个元素出现的次数
a = array.count("l")
print(a)
# 从列表中找出某个值第一个匹配项的索引位置
b = array.index("l")
print("array[{}]:{}".format(b,array[b]))
# 索引
print("array[4]:{}".format(array[4]))
print("array[-2]:{}".format(array[-2]))
[‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘W’, ‘o’, ‘r’, ‘l’, ‘d’, ‘!’]
3
array[2]:l
array[4]😮
array[-2]:d
排序
import random
# 初始化列表
i = 0
array = []
while i<10:
array.append(random.randint(0,10))
i += 1
# 复制原有列表
array_copy = array.copy()
print(array)
print(array_copy)
# 对原有列表进行反向
array.reverse()
print(array)
# 对列表进行正序排序
array.sort()
print(array)
# 对列表进行反向排序
array_copy.sort(reverse=True)
print(array_copy)
[1, 10, 1, 1, 0, 4, 4, 5, 10, 1]
[1, 10, 1, 1, 0, 4, 4, 5, 10, 1]
[1, 10, 5, 4, 4, 0, 1, 1, 10, 1]
[0, 1, 1, 1, 1, 4, 4, 5, 10, 10]
[10, 10, 5, 4, 4, 1, 1, 1, 1, 0]
列表函数
# 初始化列表
array = [0, 2, 5, 6, 7, 8, 9, 3, 6, 4]
print(array)
# 最大值
array_max = max(array)
# 最小值
array_min = min(array)
# 列表元素个数
array_len = len(array)
print(array_max, array_min, array_len)
# 将字符串转换成列表
array1 = list("hello")
# 将元组转换成列表
array2 = list((1, 2, 3))
# 将字典的所有key转换成列表
array3 = list({"name": "Tom", "age": 15})
# 将集合转换成列表
array4 = list({1, 2, 3, 4, 5, 6, 7})
print(array1)
print(array2)
print(array3)
print(array4)
[0, 2, 5, 6, 7, 8, 9, 3, 6, 4]
9 0 10
[‘h’, ‘e’, ‘l’, ‘l’, ‘o’]
[1, 2, 3]
[‘name’, ‘age’]
[1, 2, 3, 4, 5, 6, 7]