【发布时间】:2021-07-26 23:21:13
【问题描述】:
我有一个嵌套列表。我需要将顶级列表与子列表进行比较,并将每个列表的重复项保存到一个新列表中。我已经尝试过集合和列表推导,但是一旦我尝试将它们变成一个循环来遍历列表,我就会遇到下面的问题示例数据和预期的回报:
topList = [list1[1,2,3], list2[3,4,5], list3[5,6,7]]
listofVals = [1,4,7]
我希望返回包含resList[[1],[4],[7]] 的新列表列表,其目的是使用更多数据复制此列表,因此此处的示例数据很容易提供概念证明。我通常在 C 语言中工作,因此指针数学和仅取消引用值以进行直接比较对于我的应用程序是不可行的,或者如果它是我的 python fu 不是最好的。
【问题讨论】:
-
我不是 100% 确定你在问什么,但我认为这可行?
[[num] for each_list in topList for num in each_list if num in listofVals]你能澄清一下list1和list2和list3是什么并将其从你的代码中删除,因为它不是正确的 minimal reproducible example -
它是一个整数列表,我只想将一个列表与该列表列表进行比较,但创建一个具有重复值的新列表列表,基本上一个大的电子表格可以向下显示重复行按行
-
我不确定这是否意味着重复必然
-
您的解决方案有效!谢谢!我的列表理解能力不好哈哈
标签: python