如何将5个元素中的一个变为5个元素,每个元素都包含python中的一个元素?
问题描述:
可以说我有2套列表。如何将5个元素中的一个变为5个元素,每个元素都包含python中的一个元素?
set1 = [2, 4, 6, 8, 10]
set2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
在这里,我一直在努力,从SET2为了得到[1, 3, 5, 7, 9]
减去设置1,和我说的打印[x for x in set2 if x not in set1]
输出只是set2
这样做,因为在第2组只有一个元素是,这是所有自然数最多和包括10的列表。
所以我的问题是如何将[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
变成[[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]
答
你可以试试这个:
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]]
这不是一个集合,这是一个列表...... –
'[[x] for data in data]'。 –
你为什么说'set2'中只有一个元素?你用'set2 = [1,2,3,4,5,6,7,8,9,10]'定义了'set2'。 – Matthias