无法理解为什么我不能将地图结果分配给变量。它正在失去价值。
>>> 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)
[]
答案 0 :(得分:0)
因为地图对象只能在上迭代一次。当您打印时,仅此而已。下次分配时,它为空
相反,尝试
R = map(..)
V = list(R)
print(V)
答案 1 :(得分:0)
在Python 3中,map
返回一个迭代器,该迭代器一旦被消耗,将不会产生任何结果。
在您的情况下,您将在第一个print(list(R))
调用中使用它,因此在第二个调用中,它不会产生与单独list()
相同的任何结果。