在python中,如何将一个包含5个元素的集合转换为每个包含一个元素的5个集合?
假设我有两组列表在python中,如何将一个包含5个元素的集合转换为每个包含一个元素的5个集合?,python,python-2.7,list,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代表set2中的x,如果x不在set1中]输出就是set2,因为在set 2中只有一个元素,这是所有自然数的列表,包括10 所以我的问题是如何将[1,2,3,4,5,6,7,8,9,10]转换成[1]、[2]、[3]、[4]、[5]、[6]、[7]、[8
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代表set2中的x,如果x不在set1中]
输出就是set2
,因为在set 2中只有一个元素,这是所有自然数的列表,包括10
所以我的问题是如何将[1,2,3,4,5,6,7,8,9,10]
转换成[1]、[2]、[3]、[4]、[5]、[6]、[7]、[8]、[9]、[10]
我知道这是一个基本问题,但我是新来的,我找不到其他类似的问题。请回答有助于一般情况的问题,而不仅仅是在这种情况下。提前感谢。您可以尝试以下方法:
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]]
您可以使用集合来解决所述问题
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]
那不是一个集合,那是一个列表…
[[x]代表数据中的x]
。为什么说集合2中只有一个元素?你用set2=[1,2,3,4,5,6,7,8,9,10]
定义了set2
。你的故事没有多大意义:在set2
中有10个元素。你为什么认为获取列表将帮助你解决更大的问题,这一点都不清楚。如果您的原始列表与您在第一个代码块中显示的相同,那么您在下一段中显示的列表理解应该可以正常工作。得到一份清单是没有帮助的,事实上,它会使你真正想要的更难实现。你的set2
真的是[[1,2,3,4,5,6,7,8,9,10]
?