Replacing values in a Python list/dictionary?

徘徊边缘 提交于 2020-01-12 06:25:31

问题


Ok, I am trying to filter a list/dictionary passed to me and "clean" it up a bit, as there are certain values in it that I need to get rid of.

So, if it's looking like this:

"records": [{"key1": "AAA", "key2": "BBB", "key3": "CCC", "key4": "AAA"...}]

How would I quickly and easily run through it all and replace all values of "AAA" with something like "XXX"?

Focus is on speed and resources, as these may be long lists and I don't want this process to consume too much time.


回答1:


DATA = {"records": [{"key1": "AAA", "key2": "BBB", "key3": "CCC", "key4": "AAA"}]}

for name, datalist in DATA.iteritems():  # Or items() in Python 3.x
    for datadict in datalist:
        for key, value in datadict.items():
            if value == "AAA":
                datadict[key] = "XXX"

print (DATA)
# Prints {'records': [{'key3': 'CCC', 'key2': 'BBB', 'key1': 'XXX', 'key4': 'XXX'}]}



回答2:


dic = root['records'][0]
for i, j in dic.items():       # use iteritems in py2k
    if j == 'AAA':
        dic[i] = 'xxx'


来源:https://stackoverflow.com/questions/1076536/replacing-values-in-a-python-list-dictionary

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!