Python列表对象突变

时间:2018-10-05 03:56:47

标签: python list dictionary

我有一个python数据结构,该数据结构是字典列表,例如:

data = [
   {
       'user':{
          'name': 'INIT_NAME'
          'age': 18
       },
       'cart':{
          ...
       }
   },
   ...
]

我的目标是解析dict中的每个attr,以便我可以将具有大写字母的字符串替换为指定值。例如,我想将上面的数据结构解析为:

data = [
   {
       'user':{
          'name': 'my name'
          'age': 18
       },
       'cart':{
          ...
       }
   },
   ...
]

原因,我会通过python代码来做到这一点,例如:

for d in data:
  for type, attrs in d.items():
    for key, value in attrs.items():
      attrs[key] = parse_attr(value)

def parse_attr(value):
  if value == 'INIT_NAME':
    return 'my name'

当然可以,但是同样也不易读,一眼就能知道发生了什么。

我只是想知道有没有比这更好的方法?我关心代码的可读性,因此我正在寻找更好的方法。我刚接触python,只知道基本的装饰器和语法糖,在这种情况下没有帮助。如果您有任何想法请告诉我。谢谢

0 个答案:

没有答案