使用两个列表的列表理解

list comprenhension using two list

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

你可以这样做:

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 长度不同的情况。

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