首页 > 解决方案 > 如何在python中更改字典的值?

问题描述

我发现在字典中找到一些单词并用另一个单词替换。编写了以下代码,但输出没有变化。我不知道如何更改输出?

for elem in output:
    for el in elem ['tags']:
        if el== 'datamining':
            el='data mining'
        elif el== 'data science':
            el='data mining'

print(output)

新词

d = {
    'datamining': 'data mining',
    'data science': 'data mining',
}

字典

[{'title': 'title1',
  'tags': ['datamining', 'data science',
   'test',
   'data mining',
   'test1']},
 {'title': 'title2',
  'tags': ['title2',
   'datamining']
 }
  ]

预期字典

[{'title': 'title1',
  'tags': ['data mining', 'data mining',
   'test',
   'data mining',
   'test1']},
 {'title': 'title2',
  'tags': ['title2',
   'data mining']
 }
  ]

标签: pythonpython-3.x

解决方案


这应该可以解决问题

for i, elem in enumerate(output):
    for j, el in enumerate(elem ['tags']):
        if 'datamining' in el:
            output[i]['tags'][j]='data mining'
        elif 'data science' in el:
            output[i]['tags'][j]='data mining'

要消除 \u20:

for i, elem in enumerate(output):
    for j, el in enumerate(elem ['tags']):
        output[i]['tags'][j] = output[i]['tags'][j].replace("\\u20", "")
        output[i]['tags'][j] = output[i]['tags'][j].replace('datamining', 'data mining')
        output[i]['tags'][j] = output[i]['tags'][j].replace('data science', 'data mining')

推荐阅读