当前位置: 首页 > 后端技术 > Python

Python推导——字典推导与集合推导

时间:2023-03-26 13:12:19 Python

思考:如果有如下两个列表,如何快速合并为一个字典?list1=['姓名','年龄','性别']list2=['Python自学网','30','女']答:使用字典推导字典推导的作用:快速将列表合并成字典或者提取字典中的目标数据1.字典推导的快速体验:1.创建字典。字典的key是1到5之间的一个数,value是这个数的2次方。代码体验:#dict1={k:vforiinrange(1,5)}dict1={i:i**2foriinrange(1,5)}print(dict1)#{1:1,2:4,3:9,4:16}2.Merge2listintoonedictionary代码经验:#2个列表有相同的数据list1=['name','age','sex']list2=['Python自学网','30','女']dict1={list1[i]:list2[i]foriinrange(len(list1))}print(dict1)#{'name':'Python自学网络','age':'30','sex':'female'}#2个list的数据条数不同list1=['name','age','sex','id']list2=['Python自学网','30','女']dict1={list1[i]:list2[i]foriinrange(len(list2))}print(dict1)#{'name':'Python自学网络','age':'30','sex':'female'}总结:1.如果两个列表的数据个数相同,len()可以统计任意一个列表的长度。2.如果两个list的数据个数不一样,len()中统计数据多的list数据个数会报错,len()中统计数据少的list数据个数不报错一个errorDictionarydatacodeexperience:counts={'HP':189,'DELL':220,'Lenovo':180,'MBP':261,'acer':65}#获取所有键值对数据并判断vvalue大于或等于200---"returndictionary#print(counts.items())dict1={key:valueforkey,valueincounts.items()ifvalue>=200}print(dict1)#{'DELL':220,'MBP':261}字典推导私下练习较多,在工作场景中使用较多2.集合推导速成体验:集合推导在工作中使用频率不如字典推导场景。需求:创建一个集合,数据为下面列表的2次方。list1=[2,2,4]代码如下:list1=[2,2,4]set1={i**2foriinlist1}print(set1)#{16,4}注:集合有去重功能,所以这组数据只有2条数据,分别是16条和4条。文章来源参考:www.wakey.com.cn/