编辑字典列表的 Pythonic 方式
Pythonic way of editting list of dictionaries
我编写适合我的代码。但我想知道我是否可以用更好的方式写作。
我的目的是在 dataR 中找到第一个元素,其中 "col" key 的值等于 dataS 元素并将 1 添加到 "quan" key 的值。 dataR 是字典列表。 dataS 是一个列表。
for item in dataS:
dataR[dataR.index(next(x for x in dataR if x['col']==item))].['quan'] += 1
您不需要按索引查找行,您已经有了:
for item in dataS:
first_row = next(row for row in dataR
if row['col'] == item)
first_row['quan'] += 1
dataR
是 dict
对象序列的名称。 first_row
是我们给序列中的一个对象起的名字。如果我们使用该名称修改该对象,我们将修改名为 dataR
的序列中的对象。没有副本。在 python 中,要复制一个对象,您通常必须明确。
我编写适合我的代码。但我想知道我是否可以用更好的方式写作。
我的目的是在 dataR 中找到第一个元素,其中 "col" key 的值等于 dataS 元素并将 1 添加到 "quan" key 的值。 dataR 是字典列表。 dataS 是一个列表。
for item in dataS:
dataR[dataR.index(next(x for x in dataR if x['col']==item))].['quan'] += 1
您不需要按索引查找行,您已经有了:
for item in dataS:
first_row = next(row for row in dataR
if row['col'] == item)
first_row['quan'] += 1
dataR
是 dict
对象序列的名称。 first_row
是我们给序列中的一个对象起的名字。如果我们使用该名称修改该对象,我们将修改名为 dataR
的序列中的对象。没有副本。在 python 中,要复制一个对象,您通常必须明确。