列表理解 - 条件

List Comprehension - Conditional

对于这 2 个列表:

A=['3.40', '4.00', '151.00', '8.00', '81.00', '23.00', '17.00', '8.50', '5.00', '151.00', 'SCR', 'SCR', '13.00']
B=['11', '5', '2', '4', '6', '9', '7', '8', '10', '1', '12', '10', '3']

期望的输出是:

C=['11', '5', '2', '4', '6', '9', '7', '8', '10', '1', '3']

所以 - 列表 'A' 和列表 'B' 的长度相同。列表 'C' 与列表 'B' 相同 - 但不具有列表 'A'.

中存在 'SCR' 的值

我的尝试是:

C = [x for x in B if x in A!='SCR']

谢谢

只需将它们压缩在一起即可:

C = [b for a,b in zip(A,B) if a != 'SCR']

根据我认为你想要完成的目标,我认为你需要这个:

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

使用 built-in enumerate 函数很简单:

[x for (idx, x) in enumerate(B) if A[idx] == 'SCR']