将字符串列表更改为整数列表的正确方法

时间:2016-03-01 10:47:01

标签: python list dictionary

dict = {0: ['2', '6'], 1: ['2'], 2: ['3']}

print("Original: ")
print(dict)

for key,vals in dict.items():
    vals = [int(s) for s in vals]

print("New: ")
print(dict)

输出:

Original: 
{0: ['2', '6'], 1: ['2'], 2: ['3']}
New: 
{0: ['2', '6'], 1: ['2'], 2: ['3']}

我无法理解为什么值列表没有改变,我已经尝试过map()函数,它也不起作用,有什么原因吗?

2 个答案:

答案 0 :(得分:2)

在Python 3中:

dict = {k: list(map(int, v)) for k, v in dict.items()}

答案 1 :(得分:1)

因为您没有覆盖字典中的实际值。尝试做:

for key,vals in dict.items():
    dict[key] = [int(s) for s in vals]

实际上,凭着字典理解它看起来好多了。我只是试图展示代码中应该更改的内容。