是否有较短的方法来初始化此循环? 感觉像对于这样一个简单的语句四次键入“ val”可能不是最快的方法。
(该示例是用于解释我观点的随机代码,实际的循环内容会复杂得多。)
values=[4,8,0,1,5,8,3]
for val in [val for val in values if val!=1]:
print(val)
答案 0 :(得分:0)
生成器表达式(无需创建另一个列表来进行迭代)和the filter()
function(创建迭代器)就可以想到:
values = [4,8,0,1,5,8,3]
# generator expression instead of list expressen - is more efficient
for val in (val for val in values if val != 1):
print(val)
# filter the list - creates an iterator
for val in filter(lambda x:x != 1, values):
print (val)
输出:
4
8
0
5
8
3