python3 算法学习笔记(二)

由于不常用字典,对字典的各类操作还不太熟悉,所以进行学习了一些关于字典的基本使用方式。

一、获取字典的最大最小值

对字典中的数据进行排序操作,利用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, '酷派')

google

酷派

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}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。