我有一个人员列表:
[
{'name' : 'John', 'wins' : 10 },
{'name' : 'Sally', 'wins' : 0 },
{'name' : 'Fred', 'wins' : 3 },
{'name' : 'Mary', 'wins' : 6 }
]
我正在使用一个名称列表(['Fred', 'Mary', 'Sally']
)添加胜利次数。我不知道这个名字是否已经在人员列表中,如果没有,我需要插入一条新记录。目前我正在执行以下操作:
name = 'John'
person = None
pidx = None
for p in people_list:
if p['name'] == name:
person = p
pidx = people_list.index(p)
break
if person is None:
person = {'name' : name, 'wins' : 0}
person['wins'] += 1
if pidx is None:
people_list.append(person)
else
people_list[pidx] = person
有没有更好的方法使用列表来完成这个任务?鉴于我要将它保存到MongoDB中,不能使用dict
,因为它会作为对象进行保存,而我想使用本机数组函数进行排序和映射,这些函数在对象中不可用。
dict
,我想使用list
。说“使用dict”是无用的,因为我希望它是一个列表。我将其保存到MongoDB中,使用dict会使其成为一个对象,而我想使用一些本地数组函数。 - Josh Kdict
会提供更清晰的访问模式,但我不能这样做。 - Josh K