我正在寻找一种通过列表理解在此处编写for
循环的方法:
def calc(uno):
count = 0
for num in uno:
count += 1
return count
print(calc('something'))
草稿为:
def calc(uno):
count = 0
count = [count += 1 for num in uno]
return count
print(calc('something'))
很遗憾,我在count += 1
中收到错误消息。
答案 0 :(得分:1)
列表理解会创建列表,因此,如果您要使用列表理解来编写for
循环,它将看起来像:
def calc(uno):
return sum((1 for num in uno))
您创建1
的列表,然后对其求和。列表理解不能单独求和(至少不是您想要的方式)。
编辑:确实,不需要列表,生成器就足够了,非常感谢您的评论。