【发布时间】:2015-09-14 15:18:50
【问题描述】:
给定一个列表,例如
a = ["No", 1, "No"]
我想将其转换为新列表(或者实际上只是重新分配列表),以便每个“否”都转换为 0,例如
[0,1,0]
如果我尝试以下列表理解:
[0 for i in a if i =="No"]
这显然会导致列表省略每个不是“否”的元素
[0,0]
如果我按照here 给出的引导并尝试:
[0 if "No" else i for i in a]
这给了我:
[0, 0, 0]
我猜这是因为“否”等于True。
我对 if/else 在列表理解中的用法有什么误解?
【问题讨论】:
标签: python list python-2.7 if-statement list-comprehension