2024-05-04 19:42:20 发布
网友
我有以下三个清单:
a = [2, 1, 3, 5, 4] b = [3, 3, 4, 4, 6] c = [1983, 2401, 852, 2442, 5035]
我用过:
这给了我来自列表a的[3,4]。我需要来自列表c的相应值,它将是[852,5035]。任何建议都会有帮助。在
[3,4]
[852,5035]
x = [c_val for a_val, c_val in zip(a, c) if a_val in b]
使用zip获得与a的每个元素相对应的c元素。请注意,如果b很大,那么使用set可能会更好,因为{}的速度更快:
zip
a
c
b
set
但是,不要将set调用放在列表理解中;这样会在每次迭代时重新计算集合,从而破坏任何性能优势。在
使用}的速度更快:
^{pr2}$zip
获得与a
的每个元素相对应的c
元素。请注意,如果b
很大,那么使用set
可能会更好,因为{但是,不要将
set
调用放在列表理解中;这样会在每次迭代时重新计算集合,从而破坏任何性能优势。在相关问题 更多 >
编程相关推荐