3.Python推导式

本文详细介绍Python中的推导式,包括列表推导式和字典推导式,展示如何利用推导式快速生成列表和字典,提高编程效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。例如从生成器rang(1, 1001)取出所有奇数或者所有偶数或者7的倍数等等,虽然用循环也能够实现,但使用推导式更简洁
共有三种推导,在Python2和3中都有支持:

  • 列表(list)推导式
  • 字典(dict)推导式
1.列表推导式

需求:如何快速生成0-100的列表:

方式一:通过之前学过的循环来做
#while循环
list1=[]
i = 0
while i <100:
    list1.append(i)
    i += 1
print('list1的值为:',list1)

#for循环
list2 = []
for i in range(100):
    list2.append(i)
print('list2的值为:',list2)
方式二:使用列表推导式
list3 = [i for i in range(100)]
print('list3的值为',list3)

练习1:

url="http://.....?page={}"
urls=[]

for i in range(0,101,10):
    urls.append(url.format(i))
print(urls)

#列表推导式
urls1 = [url.format(i) for i in range(0,101,10)]
print(urls1)

练习2:

#输出偶数

num = [i for i in range(20) if i%2 == 0]
print(num)
2.字典推导式

除去列表推导式,还有字典推导式

需求:有一个列表,需要快速将列表转换为下标为键,值为元素值的字典格式数据

#字典推导式
li=['a','b','c','d','e']
#使用for循环

dict1={}
for i,j in enumerate(li):
    dict1[i] = j
print(dict1)
list5 = ['name','age','gender']
dic={i:v for i in list5 for v in range(3)}
print(dic)
#for i in list5:
 #   for v in range(3):
  #      dic[i] = v
{'gender': 2, 'age': 2, 'name': 2}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值