推导式

推导式的主要作用:化简代码,可以得用简单的代码得到有规律的列表、字典、集合
1.列表推导式
列表推导式用简单的代码得到一个列表,下面是列表推导式与非列表推导式的比较

'''
实现有规律的列表
'''
#while实现
str1='-'
list1=[]
i=0
while i<10:
    list1.append(i)
    i+=1
print(list1)
print(str1*20)

#for实现
list2=[]
for i in range(10):
    list2.append(i)
print(list1)
print(str1*20)

#列表推导式
list3=[i for i in range(10)]#化简代码,列表中第一个i代表返回列表的值
print(list3)

带if的列表推导式

#目标:实现0到10 有规律的偶数列表
#1.if实现
list1=[]
for i in range(10):
    if i%2==0:
        list1.append(i)
print(list1)


#简单列表推导式实现
list1=[i for i in range(0,10,2)]
print(list1)
#带if的列表推导式实现

list1=[i for i in range(10) if i%2==0]
print(list1)

多个for循环列表推导式

#实现[(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]

#方法1 for循环嵌套
list1=[]
for i in range(1,3):
    for j in range(0,3):
        list1.append((i,j))
print(list1)

#方法2 while循环实现

list2=[]
i=1
j=0
while i<3:
    while j <3:
        list2.append((i, j))
        j+=1
    i+=1
print(list2)

#方法3 多for循环列表推导实现

list3=[(i,j)for i in range(1,3) for j in range(0,3)]
print(list3)

字典推导式

list1=['name','age','gender']
list2=['tom','20','man']
dict1={list1[i]:list2[i] for i in range(len(list1))}
print(dict1)
'''
注意:
当两个列表长度相同时,len()函数中的列表可以任取,当两个列表长度不相同时len()中取较短的列表
'''
#提取字典中的数据
#准备字典
count1={'MAP':200,"HP":203,'Dell':253,'leveo':183,'SUM':120}
#提取所有大于200的电脑品牌
hot =[keys for keys,values in count1.items()if values>200]#取到所有值大于200的key,返回一个列表
print(hot)
#取到所有值大于200的电脑品牌与销售量
hot1={keys:values for keys,values in count1.items() if values>200}#返回一个字字典
print(hot1)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值