首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将两个列表添加在一起,避免重复,并对元素进行排序?

如何将两个列表添加在一起,避免重复,并对元素进行排序?
EN

Stack Overflow用户
提问于 2018-06-08 03:40:29
回答 2查看 155关注 0票数 -1

我有两个用整数填充的列表。我希望将它们加在一起,以便:

  1. 输出列表没有重复的元素,
  2. 是有序的,
  3. 包含两个列表的并集。

有没有办法在不创建自定义函数的情况下做到这一点?如果不是,那么一个整洁的过程会是什么样子呢?

例如:

代码语言:javascript
运行
复制
list1 = [1, 10, 2]
list2 = [3, 4, 10]

输出:

代码语言:javascript
运行
复制
outputlist = [1, 2, 3, 4, 10]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-08 03:47:33

试试这个:

代码语言:javascript
运行
复制
combined = [list1, list2]
union = list(set().union(*combined))

这利用了set()的预定义method (.union()),这就是您在这里需要的。

combined中可以包含尽可能多的元素,因为*combined中的星号表示找到了所有元素的并集。

此外,我对结果进行了list(),但您可以将其保留为set()

正如@glibdud在评论中指出的那样,这可能会产生一个排序列表,但这并不能保证,所以使用sorted()来确保它是有序的。(像这样的union = sorted(list(set().union(*combined))))

票数 3
EN

Stack Overflow用户

发布于 2018-06-08 03:48:46

代码语言:javascript
运行
复制
l1 = [1, 10, 2]
l2 = [3, 4, 10]

sorted(list(set(l1 + l2)))
>>> [1, 2, 3, 4, 10]
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50749047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档