【发布时间】:2021-09-01 00:43:33
【问题描述】:
我有一个很长的值列表,并且希望列表推导式计算结果为 True(如果列表中的任何值是整数 1,则仅打印一次“True”)。
我可以为每个找到 1 的实例打印“True”,但看不到如何让它返回一个 True。
代码
a = [0,0,1,1,0,1]
b = [print("True") for i in a if i == 1]
print('\n')
#c = [print("True") if any i in a is True] # doesn't work, syntax error
d = [print("TRUE") if any(i == 1)]
【问题讨论】:
-
顺便说一句,您几乎永远不想在列表理解中包含
print()。 -
好的,这是为什么呢?
-
打印返回无。所以没有必要将其输出存储在列表中。
-
因为列表理解是将一个列表转换为另一个列表的一种方式。不涉及打印。
-
你为什么需要理解?
print(1 in a)?
标签: python list list-comprehension