将列表字典转换为元组字典

时间:2016-04-08 18:07:51

标签: python list dictionary tuples reformatting

大家好我是python的新手(如果这是一个简单的问题请原谅我)并使用k-means算法进行多处理,但我遇到数据格式问题。我有一个格式如下的列表字典:

{0: [122.0, 0.000209], 1: [125.0, 0.000419], 2: [127.0, 0.000233], 3: [120.0, 0.000209], 4: [126.0, 0.000336]} 

但是我需要它作为元组的字典,所以它看起来像:

{0: (122.0, 0.000209), 1: (125.0, 0.000419), 2: (127.0, 0.000233), 3: (120.0, 0.000209), 4: (126.0, 0.000336)}. 

我知道你可以使用这个功能

tuple(list) 

将列表转换为元组但我确定如何遍历字典并将每个条目更改为元组。有没有人对如何做这个有任何建议?任何帮助表示赞赏谢谢。

1 个答案:

答案 0 :(得分:5)

天真的方式:

for key in dictionary:
    dictionary[key] = tuple(dictionary[key])

或稍微看起来更清晰但完全相同的方式:

for key, value in dictionary.iteritems():
    dictionary[key] = tuple(value)

或最后一次重铸作为词典理解,以获得更加清洁:

dictionary = {k: tuple(v) for k,v in dictionary.iteritems()}

应该满足这一特定任务。

(在Python 3中,使用dictionary.items()而不是iteritems()