在if语句中只输出一个数字 [duplicate]

The output only one number in if statment [duplicate]

提问人:Ahmed Mokhtar 提问时间:11/1/2023 最后编辑:rioV8Ahmed Mokhtar 更新时间:11/1/2023 访问量:39

问:

这是一个初学者的问题,为什么输出在这个代码中只有 1 号。 它应该是所有数字吗?

a = [1, 2, 3, []]
for number in a :
   if number == True:
      print(number)

我期望是:

1
2
3 

但它只能得到:

1
python 循环 for 循环 if-statement 数据包

评论


答:

2赞 user2390182 11/1/2023 #1

只需使用

if number:

这将涵盖所有非零数字(和其他对象),因为它们是“真实的”,如 .bool(number) == True

如果比较 ,你只能得到 since 而不是 。number == True11 == True2 == True

请注意,这是 with 和 的子类。boolint0 == False1 == True

评论

0赞 Ahmed Mokhtar 11/1/2023
Thnx 先生的反馈.它确实满足了我的问题。