2025-09-10:仓库迁移
This commit is contained in:
28
1.数据结构与算法/8.字典计算问题.py
Normal file
28
1.数据结构与算法/8.字典计算问题.py
Normal file
@@ -0,0 +1,28 @@
|
||||
price = {
|
||||
"ACME": 45.23,
|
||||
"AAPL": 612.78,
|
||||
"IBM": 205.55,
|
||||
"HPQ": 37.2,
|
||||
"FB": 10.75
|
||||
}
|
||||
|
||||
# 对这样的数据,有时候我们想找到最大值对应的键
|
||||
# 传统方法长这样
|
||||
a = max(price.values())
|
||||
print(a)
|
||||
for key, value in price.items():
|
||||
if value == a:
|
||||
print(key)
|
||||
# 显然,我们要对字典里的这些东西进行遍历才能根据值把键找出来
|
||||
|
||||
# 如果我们不想要这样的开销,可以把键值反转:
|
||||
|
||||
max_price = max(zip(price.values(), price.keys()))
|
||||
print(max_price)
|
||||
|
||||
# 注意,在对键值反转的zip中使用max和min这类函数时需要注意,如果出现:
|
||||
# a = {10, "AA"}, b = {10, "ZZ"}的情况
|
||||
# 由于值相同,会根据键大小返回结果
|
||||
# 所以如果有多个值相同的字段,还得是老办法
|
||||
max_price = [key for value, key in zip(price.values(), price.keys()) if value == a]
|
||||
print(max_price)
|
Reference in New Issue
Block a user