gpt4 book ai didi

python - 用 pandas 转换格式不良的字典

转载 作者:行者123 更新时间:2023-12-01 06:28:05 25 4
gpt4 key购买 nike

我有一个格式很差的字典,它使用数字作为嵌套字典中的键,并且并非顶层中的所有键都具有相同数量的嵌套项目。示例:

 {'Option 1': {'0': 'es_LA', '1': 'de_DE', '2': 'fr_FR'}, 'Option 2': {'0': 'de_DE', '1': 'it_IT', '2': 'ja_JP'}}

期望的结果是这样的

 {'category': 'Option 1', 'locales': ['es_LA', 'de_DE', 'fr_FR']}, {'category': 'Option 2', 'locales': ['de_DE', 'it_IT', 'ja_JP']}

我知道这将涉及迭代,但我很难弄清楚如何到达这一点,因为键并不完全相同。任何帮助,将不胜感激。

最佳答案

您可以只使用简单的 list-comprehension - 如下。我们使用 d.items() 来迭代原始字典中的每个键、值对。对于每个键值对,我们希望创建一个新字典,其中包含映射到键的类别和映射到旧字典值中每个值的区域设置。完整地写出来,这相当于:

代码:

>>> d = {'Option 1': {'0': 'es_LA', '1': 'de_DE', '2': 'fr_FR'}, 'Option 2': {'0': 'de_DE', '1': 'it_IT', '2': 'ja_JP'}}
>>> d_new = [{'category': k, 'locales': list(v.values())} for k, v in d.items()]
>>> d_new
[{'category': 'Option 1', 'locales': ['es_LA', 'de_DE', 'fr_FR']},
{'category': 'Option 2', 'locales': ['de_DE', 'it_IT', 'ja_JP']}]

关于python - 用 pandas 转换格式不良的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60029634/

25 4 0
文章推荐: java - 通过可比较接口(interface)对 ArrayList 进行排序