将列表字典转换为元组字典
Convert dictionary of lists to dictionary of tuples
大家好,我是 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)
将列表转换为元组,但我确定如何遍历字典并将每个条目更改为元组。有没有人对如何去做有任何建议?感谢您的帮助,谢谢。
天真的方式:
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()
)
大家好,我是 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)
将列表转换为元组,但我确定如何遍历字典并将每个条目更改为元组。有没有人对如何去做有任何建议?感谢您的帮助,谢谢。
天真的方式:
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()
)