如果列表包含一个值,则列表理解为真

问题描述

我有一个很长的值列表,并且想要一个列表推导式来计算为 True(如果列表中的任何值是整数 1,并且只打印一次“True”)。

我可以为每个找到 1 的实例打印“True”,但不知道如何让它返回单个 True。

代码

a = [0,1,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)]

解决方法

您是想将结果列表转换为 bool() 吗?

a = [0,1,1]
b = bool([i for i in a if i == 1])
print(b)
,

如果您的列表只包含零和一,您可以只print(any(a)) 否则你可以这样做

a = [0,2,0]
b =[x==1 for x in a]
print(any(b))

返回 True

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...