如何使用值列表展平词典?

2024-06-11 22:21:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试“展平”一本如下所示的词典:

d = {
    "USA": ["US", "United States"],
    "SGP": ["JP", "Japan", "Singapore"]
}

我希望将其转换为以下格式:

new_d = {
    "United States": "USA",
    "US": "USA",
    "JP": "SGP",
    "Japan": "SGP",
    "Singapore": "SGP"
}

Tags: new格式sgp词典unitedusjpstates
1条回答
网友
1楼 · 发布于 2024-06-11 22:21:58

使用字典理解和嵌套迭代:

>>> d = {
...     "USA": ["US", "United States"],
...     "SGP": ["JP", "Japan", "Singapore"]
... }
>>> {i: k for k, v in d.items() for i in v}
{'US': 'USA', 'United States': 'USA', 'JP': 'SGP', 'Japan': 'SGP', 'Singapore': 'SGP'}
  • k, v in d.items()->k = "USA", ...v = ["US", "United States"], ...
  • i in v->i = "US", ...

因此:

  • {i: k ...}->{"US": "USA", ...}

相关问题 更多 >