添加到列表中的字典

时间:2016-01-18 03:21:27

标签: python list dictionary

stats = {'inventory': []}

stats['inventory'].append({'sand dollar': 10})

所以基本上我现在想要加一个沙钱。我该怎么做?

2 个答案:

答案 0 :(得分:0)

inventory值是一个包含单个项目的列表,获取它:

stats['inventory'][0]['sand dollar'] += 1

答案 1 :(得分:0)

由于库存是一个列表,您需要检查列表中的每个元素以找到持有沙钱的元素并为其执行增量:

>>> stats = {'inventory': []}
>>> stats['inventory'].append({'sand dollar': 10})
>>> stats
{'inventory': [{'sand dollar': 10}]}
>>> for item in stats['inventory']:
...     if isinstance(item, dict) and 'sand dollar' in item:
...         item['sand dollar'] += 1
...         break
... 
>>> stats
{'inventory': [{'sand dollar': 11}]}

我建议将库存设为dict,然后您可以直接查找库存项目名称,而不是在可能很长的列表中搜索,这样更方便:

>>> stats = {'inventory': {}}
>>> stats['inventory']['sand dollar'] = 10
>>> stats
{'inventory': {'sand dollar': 10}}
>>> stats['inventory']['sand dollar'] += 1
>>> stats
{'inventory': {'sand dollar': 11}}