替换Python字典中的值?

2024-06-28 19:43:14 发布

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

"group1": [{"key1": "AAA", "\xef\xbb\xbfUser_ID'": "BBB", "key3": "CCC", "key4": "DDD"},
            {"key1": "EEE", "key3": "FFF", "key4": "\xef\xbb\xbfUser_ID'", "key4": "HHH"},
             {"key1": "AAA", "key3": "BBB", "\xef\xbb\xbfUser_ID'": "JJJ", "key4": "III"}]

和“用户如何快速地将其替换为”\xbu ID的值?在

重点是速度和资源,因为这些可能是一个长列表,有许多字典值。在


Tags: idfffkey1bbbcccdddkey3aaa
1条回答
网友
1楼 · 发布于 2024-06-28 19:43:14

下面呢?在

# Dictionaries with "\xef\xbb\xbfUser_ID'" in both keys and values:
group1 = [{"key1": "AAA", "\xef\xbb\xbfUser_ID'": "BBB", "key3": "CCC", "key4": "DDD"},
          {"key1": "EEE", "key3": "FFF", "key4": "\xef\xbb\xbfUser_ID'", "key4": "HHH"},
          {"key1": "AAA", "key3": "BBB", "\xef\xbb\xbfUser_ID'": "JJJ", "key4": "III"}]

for group_dict in group1:

    # Fast key replacement (no test in for loop):
    try:
        group_dict['User_ID'] = group_dict.pop("\xef\xbb\xbfUser_ID'")
    except KeyError:
        pass

    # Value replacement:
    for (key, value) in group_dict.iteritems():
        if value == "\xef\xbb\xbfUser_ID'":
            group_dict[key] = 'User_ID'

print group1  # Cleaned up dictionaries

收益率

^{pr2}$

这不会占用太多内存(除了新的"User_ID"字符串的内存),而且我想不出更快的方法。在

请注意,您的第二个字典有两个“key4”键,这很奇怪(字典中的键是唯一的)。在

相关问题 更多 >