Python基础(六) 列表表达式
转载请附上原文链接,谢谢合作。
一、列表表达式介绍
列表表达式可以利用 range 区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的列表。
语法:
[ 表达式 for 迭代变量 in 可迭代对象 if 条件表达式 ]
不使用列表表达式的语法:
for 迭代变量 in 可迭代对象 :
if 条件表达式 :
表达式
二、列表表达式的应用
1.生成数列
不使用列表表达式的写法:
list = []
for i in range(10):
list.append(i)
print(list)
# 输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
使用列表表达式的写法:
list = [i for i in range(10)]
print(list)
# 输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
2.带if条件的列表表达式(偶数数列)
不使用列表表达式的写法:
list = []
for i in range(10):
if i%2 == 0:
list.append(i)
print(list)
# 输出:[0, 2, 4, 6, 8]
使用列表表达式的写法:
list = [i for i in range(10) if i%2 == 0]
print(list)
# 输出:[0, 2, 4, 6, 8]
3.两个变量的点列
list = []
for x in range(3):
for y in range(2):
list.append((x,y))
print(list)
# 输出:[(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]
使用列表表达式的写法:
list = [(x,y) for x in range(3) for y in range(2)]
print(list)
# 输出:[(0, 0), (0, 1), (1, 0), (1, 1), (2, 0), (2, 1)]