列表理解 - 条件
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']
对于这 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']