元组列表中唯一项的列表
我有一个像这样的元组列表:mylist = [(1,2,3),(6,1,1),(7,8,1),(3,4,5)]
。如果我使用列表理解 slist = [item for sublist in mylist for item in sublist]
,我可以获得 slist = [1,2,3,6,1,1,7, 8,1,3,4,5]
。
如果我只需要 slist
中像这样的 [1,2,3,6,7,8,4,5]
中的唯一元素,我应该如何修改?
I have a list of tuples like this: mylist = [(1,2,3),(6,1,1),(7,8,1),(3,4,5)]
. If I use the list comprehension slist = [item for sublist in mylist for item in sublist]
, I could get slist = [1,2,3,6,1,1,7,8,1,3,4,5]
.
How should I modify if I need only unique elements in slist
like this [1,2,3,6,7,8,4,5]
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用 集合 而不是列表。
如果您确实需要将其作为列表,那么您可以将其转换回列表:
请注意,此转换不会保留元素的原始顺序。如果您需要相同的订单,您可以使用以下命令:
Use a set instead of a list.
If you really need it as a list then you can convert it back to a list:
Note that this conversion won't preserve the original order of the elements. If you need the same order you can use this instead:
实际上,您可以使用 itertools.chain.from_iterable 让第一部分变得更容易 然后将结果传递给 set,这将只保留独特的元素:
You can actually make your first part a bit easier by using itertools.chain.from_iterable and then passing the result to set, which will only retain the unique elements:
取自 Flattening a Shoulder List in Python 并适用于本问题。
taken from Flattening a shallow list in Python and adapted for use in this question.
您应该使用 python 集 http://docs.python.org/library/sets.html
就可以了
You should use python sets http://docs.python.org/library/sets.html
it will do the trick