使用两个列表的列表理解
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
似乎更安全也更惯用,因为它管理 A
和 B
长度不同的情况。
C = [ A[x] for x in range(len(A)) if B[x] ]
我如何使用列表理解基于两个列表 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
似乎更安全也更惯用,因为它管理 A
和 B
长度不同的情况。
C = [ A[x] for x in range(len(A)) if B[x] ]