小能豆

根据字符串拆分字典键并替换为新键

py

我有一本看起来像的字典

{'coin-dollar': 'money', 'banana': 'fruit', 'carrot-pea-pepper': 'vegetable'}

我正在尝试弄清楚如何拆分在“-”上有多个单词的键,并将每个单词映射到给定的值。换句话说,我试图让字典看起来像这样:

{'coin': 'money', 'dollar': 'money', 'banana': 'fruit', 'carrot': 'vegetable', pea': 'vegetable', 'pepper' : 'vegetable'}

阅读 24

收藏
2024-12-03

共1个答案

小能豆

你可以通过遍历字典的每个键值对,并拆分键(以 "-" 为分隔符),然后将拆分后的每个单词映射到相同的值,从而构建新的字典。

以下是实现这个需求的 Python 代码:

# 原始字典
original_dict = {'coin-dollar': 'money', 'banana': 'fruit', 'carrot-pea-pepper': 'vegetable'}

# 新字典
new_dict = {}

# 遍历原始字典的每个键值对
for key, value in original_dict.items():
    # 拆分键,将其按'-'分割为单词
    words = key.split('-')

    # 将每个单词映射到相应的值
    for word in words:
        new_dict[word] = value

# 输出新的字典
print(new_dict)

输出:

{'coin': 'money', 'dollar': 'money', 'banana': 'fruit', 'carrot': 'vegetable', 'pea': 'vegetable', 'pepper': 'vegetable'}

解释:

  1. 遍历原字典:对字典 original_dict 中的每个键值对进行遍历。
  2. 拆分键:使用 key.split('-') 将包含多个单词的键拆分成一个列表。
  3. 更新新字典:对每个单词,将它作为键,原始的值作为值,存储到新的字典中。

这样就实现了将每个由 - 分隔的单词映射到相应的值的效果,符合你的需求。

2024-12-03