如何使用列表推导基于两个列表A和B创建列表C,其中C列表包含来自A的项目,当B中的项目为TRUE
时。我的for loop
实施在这里:
A = ["ID","population","median_age"]
B = [False False True]
C = []
for x in range(len(A)):
if B[x] == True:
C.append(A[x])
答案 0 :(得分:5)
你可以这样做:
C = [a for a, b in zip(A, B) if b]
像for i in range(len(lst))
这样的内容在Python中很少是惯用的,因为您通常更喜欢for i, value in enumerate(lst)
。但在这种情况下,使用zip
似乎更安全且更惯用,因为它管理A
和B
长度不同的情况。
答案 1 :(得分:0)
C = [ A[x] for x in range(len(A)) if B[x] ]