使用两个列表列出comprenhension

时间:2015-09-16 22:44:53

标签: python list list-comprehension

如何使用列表推导基于两个列表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])

2 个答案:

答案 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似乎更安全且更惯用,因为它管理AB长度不同的情况。

答案 1 :(得分:0)

C = [ A[x] for x in range(len(A)) if B[x] ]