【发布时间】:2021-10-07 19:54:35
【问题描述】:
如果单个列表中的 any 元素为 1,则我正在尝试将列表列表转换为带有 '1' 的单个列表,否则为 0。我有以下清单:
result =[[-1, -1, 0], [1, 0, -1], [1, 1, 0]]
如果我在第一个列表中使用any()
即result[0],即使它应该是错误的,我也得到了 True。 any(result[0]) 给了True。
但是,当我分别测试每个元素时,我在每种情况下都得到 False
即result[0][0] == True 给出了 False 和其余元素的类似结果。我似乎无法理解我做错了什么。
【问题讨论】:
-
为什么在第一个列表中任何应该是假的?测试 bool(-1)
-
result[0][0]将返回 -1。为什么 -1 == True 是真的?您的第一个和第二个假设都是错误的 -
看看Truthy and Falsy Values in Python应该能解释这里的问题,让你更好地理解手头的问题。