【发布时间】:2016-01-12 19:34:25
【问题描述】:
我发现了很多关于 Python 列表的文档。但是我没有找到以下案例的答案:
我有一个这样的列表:[False, False, False, VARIABLE, False, False]。
是否存在一种方法来获取 VARIABLE 值(是一个整数)而无需在每个元素上使用 for 循环并使用列表理解?一种“which”,为了表示:选择列表中的项目 WHICH 不为 False。
重要一点,VARIABLE 在列表中始终是唯一的。列表中不可能有两个 VARIABLE。
编辑
就我而言,@AChampion 给出的解决方案是最好的。谢谢你的提示。我必须获得 VARIABLE 的值,这正是我在您的解决方案中所拥有的。
【问题讨论】:
-
列表推导是我能想到的最 Pythonic 的方式,为此。另外,如果
VARIABLE的__bool__计算结果为False怎么办? -
列表推导也使用
for循环。 -
列表推导!=总是最pythonic。事实上,一些列表推导根本不是 Python 的。
-
False 相当于 0 所以你可以
sum(my_list) -
您要查找的函数名称是:filter。
标签: python list list-comprehension