我不明白如何以及为什么第一次打印对象的引用(该对象是指哪个对象?)和第二次引用当我使用两个变量时,这些变量获得函数的结果而不是引用。
>>> a = map(int,[1,2])
>>> a
<map object at 0x7f0b1142fa90>
>>> b,c = a
>>> b
1
>>> c
2
答案 0 :(得分:1)
在Python 3中,map
(和其他原始组合器)返回一个迭代器对象,而不是列表(就像以前一样)。第一次尝试时,您本身就打印了该迭代器对象,而第二次是您将其与序列匹配,从而强制和提取元素。考虑:
>>> a = map(int,[1,2])
>>> a
<map object at 0x7ff6ddbfe748>
>>> list(a)
[1, 2]