gpt4 book ai didi

python - 按另一个列表过滤 Python 列表列表

转载 作者:太空宇宙 更新时间:2023-11-03 12:57:49 25 4
gpt4 key购买 nike

如何根据 python 中的另一个列表/集过滤列表列表。对于一个简单的列表,可以这样做:

mylist = [1,2,3,4,5,3,5,2,3,2,7,5,3]
[x for x in mylist if x in {3,5}]

但是如何最有效地为列表列表执行此操作:

mylistoflists = [[], [5, 1, 6], [5, 1, 6, 2, 7], [5, 1, 6, 2, 7, 4, 8], [5, 1, 11, 10], [5, 1, 4, 11, 10, 12]]
myvalues = set([4,10])

结果应该仍然是如下列表的列表:

 [[], [], [], [4], [10], [4, 10]]

最佳答案

基本上,相同的想法:

>>> mylistoflists = [[], [5, 1, 6], [5, 1, 6, 2, 7], [5, 1, 6, 2, 7, 4, 8], [5, 1, 11, 10], [5, 1, 4, 11, 10, 12]]
>>> myvalues = {4, 10}
>>> [[x for x in L if x in myvalues] for L in mylistoflists]
[[], [], [], [4], [10], [4, 10]]

如果 myvalues 是常量,您可以在列表理解中将其替换为集合文字以获得更好的性能。

关于python - 按另一个列表过滤 Python 列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34182181/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com