python 比较字典列表的值

4zcjmb1e  于 2023-01-08  发布在  Python
关注(0)|答案(3)|浏览(164)

我想遍历字典列表,检查每个数量键,比较值,然后打印/显示数量值最高的字典。
例如,这是我的字典列表。我有多个键和值,我想比较每个字典的数量值。然后我想只显示具有最高值的字典。
法令列表= [{'国家':“中国”、“代码”:BHK 234,“产品”:“Nike Air”、“价格”:“1245”,“数量”:'12'},{'国家/地区':“南非”,“代码”:BAK 274,“产品”:“Nike Air 1”,“价格”:“1945年”,“数量”:'34秒}]

wlp8pajw

wlp8pajw1#

您可以将此示例用于您的代码

list_of_dict.sort(key=lambda x: x['Quantity'], reverse=True)
max_dicts = [d for d in list_of_dict if d['Quantity'] == list_of_dict[0]['Quantity']]
zaq34kh6

zaq34kh62#

products = [{'Country': 'China', 'Code': 'BHK234', 'Product': 'Nike Air','Price': '1245', 'Quantity': '12'}, {'Country': 'South Africa', 'Code': 'BAK274', 'Product': 'Nike Air 1','Price': '1945', 'Quantity': '34'}]

quantities = [i["Quantity"] for i in products]
print(products[quantities.index(max(quantities))])

要从字典列表中获取最大数量值,只需遍历列表,收集数量,获取最大值的索引,然后使用它来获取字典。

wwwo4jvm

wwwo4jvm3#

你可以将python内置函数max()和一个自定义函数结合使用,这个自定义函数将为列表中的条目比较提供一个自定义键:

list_of_dicts = [{'Country': 'China', 'Code': 'BHK234', 'Product': 'Nike Air','Price': '1245', 'Quantity': '12'}, {'Country': 'South Africa', 'Code': 'BAK274', 'Product': 'Nike Air 1','Price': '1945', 'Quantity': '34'}]
print(max(list_of_dicts, key=lambda x: x['Quantity']))

将输出

{'Country': 'South Africa', 'Code': 'BAK274', 'Product': 'Nike Air 1', 'Price': '1945', 'Quantity': '34'}

相关问题