首页 > 解决方案 > 如何将以下字典键转换为另一个键?

问题描述

原始键(以元组为键的dict_keys)是:

dict_keys([(0.8, 1.6, '00a1'), (0.8, 1.6, '0q00'), (0.8, 1.6, '0b0q'), (0.8, 1.6, '0cc0'), (0.8, 1.6, '0e00')])

我怎样才能把它们变成:

dict_keys(['00a1', '0q00', '0b0q', '0cc0', '0e00'])

也可以使用新键创建一个新字典。但我不知道该怎么做。

标签: python

解决方案


您可以使用字典理解来创建带有新键的新字典:

old_dict = {
    (0.8, 1.6, '00a1'):'some_value',
    (0.8, 1.6, '0q00'):'some_value',
    (0.8, 1.6, '0b0q'):'some_value',
    (0.8, 1.6, '0cc0'):'some_value',
    (0.8, 1.6, '0e00'):'some_value',
}

print('Old dictionary keys: ', end='')
print(old_dict.keys())

new_dict = {k[2]: v for k, v in old_dict.items()}

print('New dictionary keys: ', end='')
print(new_dict.keys())

印刷:

Old dictionary keys: dict_keys([(0.8, 1.6, '00a1'), (0.8, 1.6, '0q00'), (0.8, 1.6, '0b0q'), (0.8, 1.6, '0cc0'), (0.8, 1.6, '0e00')])
New dictionary keys: dict_keys(['00a1', '0q00', '0b0q', '0cc0', '0e00'])

推荐阅读