由于不常用字典,对字典的各类操作还不太熟悉,所以进行学习了一些关于字典的基本使用方式。
一、获取字典的最大最小值
对字典中的数据进行排序操作,利用zip()及sorted()即可实现。
源代码:
#coding=utf-8
price ={
"小米":899,
"三星":3888,
"华为":4999,
"iphone":8999,
"酷派":500,
"google":5999
}
min_price =min(zip(price.values(),price.keys()))
print(min_price)
max_price =max(zip(price.values(),price.keys()))
print(max_price)
price_sorted =sorted(zip(price.values(),price.keys()))
print(price_sorted)
price_sorted =sorted(zip(price.values(),price.keys()),reverse=True)
print(price_sorted)
price_and_names =zip(price.values(),price.keys())
print(min(price_and_names))
# print(max(price_and_names)) 错误 zip()创建的迭代器只可被消耗一次
print(min(price))
print(max(price))
print(min(price.values()))
print(max(price.values()))
print(min(price,key=lambda k:price[k]))
print(max(price,key=lambda k:price[k]))
输出结果:
(500, '酷派')
(8999, 'iphone')
[(500, '酷派'), (899, '小米'), (3888, '三星'), (4999, '华为'), (5999, 'google'), (8999, 'iphone')]
[(8999, 'iphone'), (5999, 'google'), (4999, '华为'), (3888, '三星'), (899, '小米'), (500, '酷派')]
(500, '酷派')
酷派
500
8999
酷派
iphone
字典推导式:使用字典推导式会比使用dict()生成字典的速度快,效率大概是两倍
#coding=utf-8
mcase = {"a":10,"b":30,"A":3,"Z":7}
mcase_f = {
x.lower():mcase.get(x.lower(),0)+mcase.get(x.upper(),0)#将小写及大写对应的值相加并赋给小写
for xin mcase.keys()
if x.lower()in ["a","b"]
}
print(mcase_f)
结果:
{'a': 13, 'b': 30}