2

大家好,我对 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) 

将列表转换为元组,但我确定如何遍历字典并将每个条目更改为元组。有人对如何做这件事有任何建议吗?感谢您提供任何帮助。

4

1 回答 1

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

于 2016-04-08T18:08:29.027 回答