【发布时间】:2013-07-26 10:59:55
【问题描述】:
如果我在 python 中有一个列表说
thing = [[20,0,1],[20,0,2],[20,1,1],[20,0],[30,1,1]]
我想要一个结果列表
thing = [[20,1,1],[20,0,2],[30,1,1]]
即如果第一个元素相同,去掉重复,优先考虑第二个元素中的数字1。最后,第三个元素也必须对第一个元素是唯一的。
在这个previous question 中,我们解决了一个复杂的方法,在该方法中,交易详细说明了购买的单位。我想在该课程中输出其他单位。如果存在与一门课程中的两个单元相关的两个事务,它将显示它们重复(或每个后续单元的倍数)。
这个问题的目的是确保停止这种重复。由于该解决方案的复杂性,它导致了一系列问题。感谢迄今为止提供帮助的所有人。
【问题讨论】:
-
不,这是不同的,因为您可以看到我们正在查看多维列表中的各个值。
-
使用集合来删除重复项,但是集合有一个缺点,因为它没有排序但是有一个令人讨厌的函数 yourset.oderedDict() 或其他东西来订购它左右(不确定,但请查看 python 官方文档套)
-
我可以不用排序,因为我将在显示的第一个元素上使用 for 循环和 id 语句。我的问题是重复。不是我的强项,所以如果有人为我做了一个很酷的循环,那就太棒了,值得点。谢谢
-
结果列表不应该是
thing = [[20,1,1],[30,1,1]]吗?为什么要保存[20,0,2]元素?那么第三元素呢?它应该从哪里来?
标签: python