添加到lis中的词典

2024-10-01 11:38:13 发布

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

stats = {'inventory': []}

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

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


Tags: statsinventoryappenddollarsand沙币
2条回答

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

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

由于库存是一个列表,您需要检查列表中的每个元素,以找到持有沙币的元素,并对其进行递增:

>>> 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}}

相关问题 更多 >