列表推导式
语法:
- 变量名 = [表达式 for 变量 in 列表 for 变量 in xxx]
- 变量名 = [表达式 for 变量 in 列表 if 条件]
快速创建一个包含元素1-10的列表
list1 = [i for i in range(1, 11)] print(list1)
运行结果:
[1,2,3,4,5,6,7,8,9,10]
快速创建一个包含1-10之间所有偶数的列表
list1 = [i for i in range(1, 11) if i % 2 == 0] print(list1)
运行结果:
[2, 4, 6, 8, 10]
现在有一列表 lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] ,求出 1/4/7 和 1/5/9元素,思考如何取出
# 使用列表推导式: lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] lst1 = [lst[i][0] for i in range(len(lst))] print(lst1) lst2 = [lst[i][i] for i in range(len(lst))] print(lst2)
运行结果:
[1, 4, 7] [1, 5, 9]
map函数用法
当不传入function时,map()就等同于zip(),将多个列表相同位置的元素归并到一个元组:
map(None,[2, 4, 6], [3, 2, 1]) 结果如下: [(2,3), (4, 2), (6, 1)]
将字符串转换为list:
map(int, '1234') 结果如下: [1, 2, 3, 4]
提取字典中的key,并将结果放在一个list中:
map(int, {1:2, 2:3, 3:4}) 结果如下: [1, 2, 3]