Python映射函数的奇怪行为

时间:2018-05-29 12:17:38

标签: python dictionary

我正在运行以下代码:

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))

打印:

[]

为什么?

2 个答案:

答案 0 :(得分:0)

在python3中map是一个生成器。如果要重用变量,请使用

selectedvalidations='1,2,3,4,5,6,7'
x=list(map(int,selectedvalidations.split(',')))  #Encapsulate map in list
print(x)

答案 1 :(得分:0)

正确的方法是将生成器就地转换为列表并将列表保存在变量中

inline