假设我有两套清单。
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]
?
我知道这是一个基本问题,但我是新的,我无法找到这样的任何其他问题。请回答一般有帮助的答案,而不仅仅是在这种情况下。提前谢谢。
答案 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]