【发布时间】:2018-05-29 12:17:37
【问题描述】:
我正在运行以下代码:
selectedvalidations='1,2,3,4,5,6,7'
x=map(int,selectedvalidations.split(','))
print(list(x))
打印出来:
[1, 2, 3, 4, 5, 6, 7]
如果我再次打印:
print(list(x))
打印出来:
[]
为什么?
【问题讨论】:
-
在python3中map是一个生成器
-
因为 map 是生成器,所以你从这个生成器中提取所有内容并且它是空的,尝试
new_x = list(x)和print(new_x)你想要多少次 -
在这种情况下,最明确的做法是避免使用 map 并使用列表推导式。
标签: python dictionary