>>> dataset
[[1, 3, 4], [2, 3, 5], [1, 2, 3, 5], [2, 5]]
>>> D=map(set,dataset)
>>> D
<map object at 0x0000000002ABF5F8>
当我将D输入python3.3的交互式窗口时,我认为它应该出现:
[set([1, 3, 4]), set([2, 3, 5]), set([1, 2, 3, 5]), set([2, 5])]
为什么是地图对象?
答案 0 :(得分:2)
为什么地图的结果是一个对象?因为在documentation for python 3.3中写入它会产生结果,因此它是一个生成器。
您可以使用
阅读for i in D:
print i
或正如Grijesh所建议的那样
list(D)
会将其转换为列表
答案 1 :(得分:2)
在Python 3中,map不返回列表,而是返回地图对象,迭代器。关于此问题有一个similar question。 如果您需要列表,可以轻松将其转换为列表:
D = list(map(set,dataset))
请参阅docs了解相关信息。
顺便说一下,将小写字母用于变量名称是一种很好的做法。希望这有帮助!