如何将一个包含5个元素的集合转换为5个集合,每个集合在python中有一个元素?

时间:2017-10-14 20:37:11

标签: python python-2.7 list

假设我有两套清单。

set1 = [2, 4, 6, 8, 10]
set2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

从这里开始,我尝试从set2中减去set1以获得[1, 3, 5, 7, 9],并且我已经通过说print [x for x in set2 if x not in set1]来完成了这样做。输出只是{{1}因为第2组中只有一个元素,这是包含10的所有自然数的列表。

所以我的问题是如何将set2变成[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

我知道这是一个基本问题,但我是新的,我无法找到这样的任何其他问题。请回答一般有帮助的答案,而不仅仅是在这种情况下。提前谢谢。

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

s = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_s = [[i] for i in s]

输出:

[[1], [2], [3], [4], [5], [6], [7], [8], [9], [10]]

答案 1 :(得分:0)

您可以使用集合来解决所述问题

set1 = [2, 4, 6, 8, 10]
set2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

set(set2) - set(set1)

Out[18]: {1, 3, 5, 7, 9}  

列表理解也有效,你有不同的结果吗?

[e for e in set2 if e not in set1]

Out[17]: [1, 3, 5, 7, 9]
相关问题