如何根据列表A和B使用列表理解来创建列表C,其中C列表包含B中的项目为TRUE
时的项目。我for loop
实现是在这里:list comprenhension using two list
A = ["ID","population","median_age"]
B = [False False True]
C = []
for x in range(len(A)):
if B[x] == True:
C.append(A[x])
如何根据列表A和B使用列表理解来创建列表C,其中C列表包含B中的项目为TRUE
时的项目。我for loop
实现是在这里:list comprenhension using two list
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
的长度不同。
谢谢@ vincent-savard,它工作正常。 –
列表A和B的长度相同吗? – Oni1
第一个C应该是'B'还是逗号之间的假? –
@AnnAddicks是啊,A和B的长度相同,对不起,我在我的问题中犯了一些错误,第一个C实际上是B列表,而列表中的逻辑值之间的逗号是逗号。 –