list1 =['name','age','gender']
list2 =['zmz','20','boy']# 字典推导式 -- 快速合并列表为字典,或提取字典中的目标数据# 例 1 -- key是数字,value是这个数字的平方
dict1 ={i: i **2for i inrange(1,5)}print(dict1)# 例 2 -- 合并两个列表,两个列表长度相同
dict2 ={list1[i]: list2[i]for i inrange(len(list1))}print(dict2)# 如果两个列表长度不同,那么取 len(长度较短的列表)# 例 3 -- 提取字典中满足条件的数据
dict3 ={'Mac':10000,'Dell':6599,'HP':6999,'Lenovo':5799,'Acer':4599}print(dict3.items())
counts ={key: value for key, value in dict3.items()if value >6000}print(counts)
二、list推导式
"""
推导式(生成式) -- 是用来化简代码
推导式包含:
1.列表推导式
2.字典推导式
3.集合推导式
"""# 用一个表达式创建一个有规律的列表或控制一个有规律的列表
list1 =[]# while实现
i =0while i <10:
list1.append(i)
i +=1print(list1)# for 实现
list2 =[]for i inrange(10,20,1):
list2.append(i)print(list2)# 推导式实现
list3 =[i for i inrange(-9,2,1)]# for 的左侧的 i 是返回值,创建列表当然用 []print(list3)print(sum([2** i for i inrange(100)]))
三、set推导式
# 集合推导式 -- 主要用来根据列表创建集合
list1 =[2,3,4,2,5,3]
set1 ={i **2for i in list1}print(set1)
t1 =(10,20,30,40,50)print(t1)
t2 =(i *2for i in t1)print(t2)# 打印不出来
四、含if推导式
"""
创建0 - 10 的偶数列表
"""# 方法一
list1 =[i for i inrange(0,11,2)]print(list1)# 方法二
list2 =[]for i inrange(11):if i %2==0:
list2.append(i)print(list2)# 方法三
list3 =[i for i inrange(11)if i %2==0]# 列表推导式其实就是根据for 循环化简得来的print(list3)
五、含for推导式
list=[]for i inrange(1,3):for j inrange(3):list.append((i, j))print(list)print("==================")
list1 =[(i, j)for i inrange(5)for j inrange(5)]# for循环嵌套
count =0for i in list1:
count +=1print(i, end='')if count %5==0:print()