2015-08-29 159 views
2

我有一个关键字:列表对的字典。列表是字符串列表,但它们需要是整数。下面是什么我开始用一个例子:转换键:字符串列表键:字典中整数列表

dictionary = { 
    "P4021a": ["1","2","3","4","5"], 
    "P4019a": ["1","2","3","4","5"], 
    "P4013a": ["1","2","3","4","5"] 
} 

我试图实现以下目标:

dictionary = { 
    "P4021a": [1,2,3,4,5], 
    "P4019a": [1,2,3,4,5], 
    "P4013a": [1,2,3,4,5] 
} 

这里是我到目前为止已经试过:

new_dict = {} 
for key in dictionary.keys(): 
    new_dict[key] = dictionary[int(key)] 

我收到一个错误,指出int()无法在列表上操作。所以我也试着在每个列表中添加迭代。

new_dict = {} 
for key in dictionary.keys(): 
    new_dict[key] = dictionary[[int(value) for value in dictionary.values() for i in range(5)]] 

我也试过:

new_dict = {} 
for key in dictionary.keys(): 
    new_dict[key] = dictionary[map(int,key)] 

任何帮助表示赞赏。

回答

0
for key in dictionary: 
    dictionary[key] = [int(val) for val in dictionary[key]] 
+0

做一些关于代码的解释。代码转储通常是不被接受的。 –

2
for i in dictionary: 
    dictionary[i]=map(int,dictionary[i]) 
print dictionary 

你可以简单地mapint

在Python 3由Bhargav指出,map返回map object而不是list因此你需要使用

list(map(int,dictionary[i])) 
+1

嘿vks,请注意,这种方法是可能的,只有在Python2中,因为在Py3中'map'返回一个mapObject。 –

相关问题