【发布时间】:2018-04-15 23:20:39
【问题描述】:
我正在做一个教程,但有一段我不明白的代码。它更新了字典(项目),但我不明白为什么主列表(项目)也会更新。
当我使用 lambda 函数或 for 过滤列表时也是如此。
你能解释一下吗?提前致谢。
items = [{'name': 'toto', 'price': 99}]
name = 'toto'
#item = next(filter(lambda x: x['name'] == name, items), None)
for x in items:
if x['name'] == name:
item = x
else:
item = None
print(item)
if item is None:
item = {'name': name, 'price': 77}
items.append(item)
else:
item.update({'price': 100})
print(item)
print(items)
【问题讨论】:
标签: python