Python基础(14) 公共方法(二)

推导式

用一个表达式创建一个有规律的列表/字典/集合或者控制一个有规律的列表/字典/集合
tip:更有风格的python代码,化简代码

列表推导式:

# 一行即可创建
list = [返回值 for i in 遍历的序列]
list = [返回值 for i in 遍历的序列 if 判断式]
list1 = [i for i in range(0,11)]
print(list1)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
list1 = [i for i in range(11) if i%2==0] #带if判别式的推导式
print(list1)  # [0, 2, 4, 6, 8, 10]

列表循环嵌套
需求:生成 [(1,0),(1,1),(1,2),(1,3),(2,0),(2,1),(2,2),(2,3)]

list1 = [(i,j) for i in range(1,3) for j in range(4)]
print(list1)  # [(1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3)]

字典推导式

生成一个key和value之间有规律的字段
需求:创建一个一个字典key:1-5,value : key的2倍

dict1 = {i:i*2 for i in range(1,6)}
print(dict1)  # {1: 2, 2: 4, 3: 6, 4: 8, 5: 10}

合并俩个列表成为字典
个数不一致的两个列表合并取值,选取个数少的列表个数

list1 =['Tom','23','175cm']
list2 = ['name','age','tall']
dict1 ={list2[i]:list1[i] for i in range(len(list2))}
print(dict1)  # {'name': 'Tom', 'age': '23', 'tall': '175cm'}

提取字典中的目标数据
字典:count1 ={‘MAP’:280,‘HP’:125,‘DEL’:201,‘Lenovo’:199,‘acer’:99}
需求:提取其中value大于200的键值对

count1 ={'MAP':280,'HP':125,'DEL':201,'Lenovo':199,'acer':99}
# 提取其中value大于200的键值对
dict1 = {key:value for key,value in count1.items() if value>200}
print(dict1)  # {'MAP': 280, 'DEL': 201}

集合推导式

# 一行即可创建
list = {返回值 for i in 遍历的序列}
# set = {xx for xx in ....}
list1 = [10,20,30,10,20,30,40,50,60]
set1 = {i for i in list1}
print(set1)  # {40, 10, 50, 20, 60, 30}
print(type(set1))  # <class 'set'>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值