- 此问题在此处已有答案**:
Why can't I iterate twice over the same iterator? How can I "reset" the iterator or reuse the data?(5个答案)
三年前关闭了。
不明白为什么我不能把Map结果赋给一个变量。它正在失去它的值。
>>> L = 'something'
>>> R = map(lambda x: x * 2, L)
>>> print(list(R))
['ss', 'oo', 'mm', 'ee', 'tt', 'hh', 'ii', 'nn', 'gg']
>>> V = list(R)
>>> print(V)
[]
2条答案
按热度按时间raogr8fs1#
在Python 3中,
map
返回一个迭代器,一旦被使用,将不会产生任何结果,在您的例子中,您在第一个print(list(R))
调用中使用了它,所以在第二个调用中,它不会产生任何结果,这与单独使用list()
相同。km0tfn4u2#
因为map对象只能迭代一次,当你打印它的时候,就这样了,下次你赋值的时候,它就空了
相反,尝试