首页 > 解决方案 > 如何将字典的特定属性设置为 []

问题描述

让我们想象下面的字典

dictionary = {
    "key1": {
         "value": [1, 3, 5],
     },

    "key2": {
         "value": [1, 2, -1],
     },
}

是否可以在不迭代字典键的情况下将所有设置"values"为?[]我想要这样的东西dictionary[]["value"]=[],所有“价值”属性都设置为[]. 但这不起作用。

标签: pythondictionary

解决方案


因为您需要避免迭代,所以这里有一个解决这个问题的小技巧

将字典转换为字符串,替换然后返回字典:

import re, ast

dictionary = {
    "key1": {
         "value": [1, 3, 5],
     },

    "key2": {
         "value": [1, 2, -1],
     },
}

print(ast.literal_eval(re.sub(r'\[.*?\]', '[]', str(dictionary))))
# {'key1': {'value': []}, 'key2': {'value': []}}

推荐阅读