字典求最小值经典案例 heapq.nsmallest() 与min()

字典求最小值经典案例

from collections import Iterable

import heapq as hpq
map_10 = load_map('map-10.pickle')
#show_map(map_10)

def min_openSet(openSet,dictionary):
    r = None
    order = hpq.nsmallest(len(dictionary),dictionary,lambda k:dictionary[k])
    print("order=",order)
    for i in order: 
        if i in openSet:            
            r = i
            break
    print("smallest in openSet is ",r)
    return r
   
fScore = {}
fScore[5]=0.574734871592805
fScore[ 32 ]= 0.9117393095740053
fScore[ 16 ]= 0.5754198898452701
fScore[ 14 ]= 0.7029473349906332
openSet= set({32, 16, 14})
print(isinstance(fScore, Iterable))
print("smallest is:", min_openSet(openSet,fScore))
prices = {'ACME': 45.23,
              'AAPL': 612.78,
              'IBM': 205.55,
              'HPQ': 37.20,
              'FB': 10.75}
print(min(prices, key =lambda k : prices[k]))

 

#result

True
order= [5, 16, 14, 32]
smallest in openSet is  16
smallest is: 16
FB
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值