【发布时间】:2019-10-01 08:09:55
【问题描述】:
我有一个类似下面的列表
a = [5,5,5,5,3,3,2,2,2,2,5,5,5,2,2,2,2,2]
我希望有以下输出列表
b = [5,3,2,5,2]
请注意,我已尝试使用
list(OrderedDict.fromkeys(a))
这给了我
[5, 3, 2]
请注意,它不考虑第 2 个 5 或第 2 个 2,因为那时它们是非唯一的。
我需要一种方法让机器理解当它遇到一个唯一元素(比如第一个“5”)时,它应该将它存储在列表 b 中。因此,当它遇到第一个“3”或第一个“2”时,它也应该将它们存储在列表 b 中。到目前为止没有问题。当它遇到第二组 '5' 时,它应该将该 5 作为新元素存储在列表 b 中。第二组 2 也是如此。
有没有 Pythonic 的方式来做到这一点?
【问题讨论】:
标签: python python-3.x list