python的map函数 数据集 [[1, 3, 4], [2, 3, 5], [1, 2, 3, 5], [2, 5]] >>>D=地图(集合、数据集) >>>D

python的map函数 数据集 [[1, 3, 4], [2, 3, 5], [1, 2, 3, 5], [2, 5]] >>>D=地图(集合、数据集) >>>D,python,map,python-3.3,Python,Map,Python 3.3,当我在python3.3的交互窗口中输入D时,我认为它应该出现: [set([1,3,4])、set([2,3,5])、set([1,2,3,5])、set([2,5]) 为什么是贴图对象?为什么贴图的结果是对象?因为在它里面写着它产生结果,所以它是一个生成器 你可以使用 >>> dataset [[1, 3, 4], [2, 3, 5], [1, 2, 3, 5], [2, 5]] >>> D=map(set,dataset) >>> D

当我在python3.3的交互窗口中输入D时,我认为它应该出现:

[set([1,3,4])、set([2,3,5])、set([1,2,3,5])、set([2,5])


为什么是贴图对象?

为什么贴图的结果是对象?因为在它里面写着它产生结果,所以它是一个生成器

你可以使用

>>> dataset
[[1, 3, 4], [2, 3, 5], [1, 2, 3, 5], [2, 5]]
>>> D=map(set,dataset)
>>> D
<map object at 0x0000000002ABF5F8>
或者像格里耶什建议的那样


list(D)
将其转换为list

为什么map的结果是一个对象?因为在它里面写着它产生结果,所以它是一个生成器

你可以使用

>>> dataset
[[1, 3, 4], [2, 3, 5], [1, 2, 3, 5], [2, 5]]
>>> D=map(set,dataset)
>>> D
<map object at 0x0000000002ABF5F8>
或者像格里耶什建议的那样


list(D)
将其转换为list

在Python 3中,map不返回list,而是一个map对象,一个迭代器。关于这件事,有一个很好的解释。 如果需要列表,可以轻松地将其转换为列表:

for i in D:
  print i
关于这一点,请参阅


顺便说一句,变量名使用小写字母是一种很好的做法。希望这有帮助

在Python3中,map不返回列表,而是一个map对象,一个迭代器。关于这件事,有一个很好的解释。 如果需要列表,可以轻松地将其转换为列表:

for i in D:
  print i
关于这一点,请参阅


顺便说一句,变量名使用小写字母是一种很好的做法。希望这有帮助

它返回generator for 3+,Do
list(map(set,dataset))
Read我没有在任何地方读过,但我观察到不同之处,在新的Python版本中,大多数内置函数返回generator而不是序列(我想是为了提高效率),您也可以使用LCs
[set(I)for I in dataset]
当注意到使用Py3时会出现奇怪的行为时,总是值得一看函数的文档。有很多细微的差别,如果你习惯了Py2,你的生活会很艰难。它返回3+的生成器,Do
list(map(set,dataset))
Read我没有读到任何地方,但我注意到在新的Python版本中,大多数内置函数返回生成器而不是序列(我想是为了提高效率)如果使用Py3发现奇怪的行为,也可以使用LCs
[set(i)for i in dataset]
,这总是值得一看函数的文档。有很多细微的差别,如果你习惯了Py2,你的生活会很艰难。我写这篇文章的时候还没见过你的。对不起,伙计,我写的时候还没看到你的。对不起,伙计。