[expression for item1 in iterable1 if condition1
for item2 in iterable2 if condition2
...
for itemN in iterableN if conditionN
]
类似于
res=[ ]
for item1 in iterable1:
if condition1:
for item2 in iterable2:
if condition2
...
for itemN in iterableN:
if conditionN:
res.append(expression)
2)示例
l=[i**2 for i in range(5) if i > 2]
print(l)
names=['lqz_sb','yj_sb','jason_sb','egon']
l=[name for name in names if name.endswith('sb')]
print(l)
res=(i for i in range(5))
print(res,type(res))
print(next(res))
print(next(res))
print(next(res))
print(next(res))
print(next(res))
print(next(res))
nums=(i for i in range(200000))
res=sum(nums)
print(res)
with open('01 迭代器.py', mode='rt', encoding='utf-8') as f:
data=f.read()
print(len(data)) # 2202
res=0
for line in f:
res+=len(line)
res = sum((len(line) for line in f))
res = sum(len(line) for line in f)
print(res)