我一直在思考和阅读一段时间,但到目前为止我还没有找到解决方案。我的问题是,我在列表中有一些词典
goodsandprices = [{'good': 'apple', 'price': 10}, {'good': 'pear', 'price': 20}, {'good': 'orange', 'price': 25}, {'good': 'plum', 'price': 15}, {'good': 'wine', 'ar': 40}]
我甚至不确定它是否正确,我的程序并没有对此大惊小怪。我的目的是收集每个具有“价格”键的数据,并获得它的最小值。我的第一个猜测就像是
min(goodsandprices['price']))
但这给了我一个错误。你能给我一个提示怎么做吗?
答案 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)