从列表Python中的字典中获取数据

时间:2016-12-07 20:16:44

标签: python dictionary

我一直在思考和阅读一段时间,但到目前为止我还没有找到解决方案。我的问题是,我在列表中有一些词典

goodsandprices = [{'good': 'apple', 'price': 10}, {'good': 'pear', 'price': 20}, {'good': 'orange', 'price': 25}, {'good': 'plum', 'price': 15}, {'good': 'wine', 'ar': 40}]

我甚至不确定它是否正确,我的程序并没有对此大惊小怪。我的目的是收集每个具有“价格”键的数据,并获得它的最小值。我的第一个猜测就像是

min(goodsandprices['price']))

但这给了我一个错误。你能给我一个提示怎么做吗?

3 个答案:

答案 0 :(得分:2)

如果您只想要price值最小的成员,则可以执行以下操作:

print min(goodsandprices, key=lambda _:_["price"])

答案 1 :(得分:1)

使用带有回调函数的def odd_value_and_position(array) array.select.with_index(1){|x,i| x.odd? && i.odd?} end puts odd_value_and_position([1,2,3,4,5]) #=> [1,3,5] 函数作为min(iterable, *[, key, default])参数:

key

输出:

goodsandprices = [{'good': 'apple', 'price': 10}, {'good': 'pear', 'price': 20}, {'good': 'orange', 'price': 25}, {'good': 'plum', 'price': 15}, {'good': 'wine', 'ar': 40}]
result = min(goodsandprices, key=lambda x: getattr(x, 'price', 0))

print(result['price']) 

答案 2 :(得分:0)

goodsandprices = [{'good': 'apple', 'price': 10}, {'good': 'pear', 'price': 20}, {'good': 'orange', 'price': 25}, {'good': 'plum', 'price': 15}, {'good': 'wine', 'ar': 40}]    
key = 'price'
arr1 = []

for item in goodsandprices:
    if key in item:
        arr1.append(item['price'])


print min(arr1)