作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个格式很差的字典,它使用数字作为嵌套字典中的键,并且并非顶层中的所有键都具有相同数量的嵌套项目。示例:
{'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/
我在使用 Heroku 时遇到问题,当我尝试部署我的应用程序时,它没有运行 run assets:precompile而且我还没有在本地预编译我的 Assets ,我在 Git 中没有 list 文件
(这是为您提供围绕我的问题的背景信息。您可以跳到“问题”并阅读该内容,然后如果您想直接进入主题,则可以返回并浏览背景知识.抱歉,这是一面文字墙!) 我需要将一堆非常非常糟糕的 JSON 存储在数据库中
我是一名优秀的程序员,十分优秀!