Python推导式
推导式
1. 列表推导式
语法如下:
[表达式 for item in 可迭代对象]
或者:[表达式 for item in 可迭代对象 if 条件判断]
eg.
cells = [(row, col) for row, col in zip(range(1,10), range(101,120))]
for cell in cells:
print(cell)
2. 字典推导式
语法如下:
{key:value for 表达式 in 可迭代对象}
eg.
values = ["江西", "河南", "江苏"]
cities = {id *100: city for id, city in zip(range(1,10), values)}
for item in cities:
print(item)
3. 集合推导式
语法如下:
{表达式 for item in 可迭代对象}
或者:{表达式 for item in 可迭代对象 if 条件判断}
eg.
s = {x for x in range(1,100) if x%9 == 0}
print(s)
>> {99, 36, 72, 9, 45, 81, 18, 54, 90, 27, 63}
4. 生成器推导式(不直接生成元组)
注:一个生成器只能运行一次,第一次迭代可以得到结果,但是第二次迭代就没有结果。
语法如下:
(表达式 for item in 可迭代对象)
或者:(表达式 for item in 可迭代对象 if 条件判断)
eg.
gnt = (x for x in range(1,100) if x%9 == 0)
for x in gnt:
print(x, end=",")
for x in gnt:
print(x, end=",")
>> 9,18,27,36,45,54,63,72,81,90,99,