大家好我是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)
将列表转换为元组但我确定如何遍历字典并将每个条目更改为元组。有没有人对如何做这个有任何建议?任何帮助表示赞赏谢谢。
答案 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()
)