python笔记 列表推导式

python笔记 列表推导式 集合推导式 字典推导式

好记性不如烂笔头,学习从摘抄开始!

列表推导式

作用:通过旧列表获取新的列表
格式1:

[<表达式> for <变量> in <旧列表>] 

说明:
将<旧列表>中的<变量>依次取出,参与<表达式>的运算,最后将结果放在新的列表中

格式2:

[<表达式> for <变量> in <旧列表> if <条件>]

说明:
将<旧列表>中符合if<条件>的<变量>依次取出,参与<表达式>的运算,最后将结果放在新的列表中

格式3:

[<表达式1> if <条件> else <表达式2> for <变量> in <旧列表> ]

说明:
将<旧列表>中的<变量>依次取出,符合if<条件>的参与<表达式1>的运算,不符合if<条件>的参与<表达式2>的运算,最后将结果放在新的列表中

例子:

names = ['lily', 'jack', 'tom', 'ha', 'hk']

# 格式1:将旧列表中的内容首字母改为大写
ans = [name.capitalize() for name in names]
print(ans)

# 格式2: 将旧列表中的内容长度大于3的取出
ans = [name for name in names if len(name) > 3]
print(ans)

# 格式3:将旧列表中的内容长度大于3的加上'+',将内容小于等于3的加上'-'
ans = [name + '+' if len(name) > 3 else name + '-' for name in names]
print(ans)

结果:

['Lily', 'Jack', 'Tom', 'Ha', 'Hk']
['lily', 'jack']
['lily+', 'jack+', 'tom-', 'ha-', 'hk-']

集合推导式:

1.与列表推导式类似,将[]换成{}
2.在列表推导式的基础上添加了一个去重复项功能

字典推导式:

1.与列表推导式类似,将[]换成{}
2.{<表达式1> :<表达式2> for <变量1>,<变量2> in <旧字典.item()>}

例子:

dict1 = {'name': 'lily', 'age': 'eighteen', 'sex': 'girl'}
print(dict1)

new_dict1 = {key.capitalize(): value.capitalize() for key, value in dict1.items()}
print(new_dict1)

结果:

{'name': 'lily', 'age': 'eighteen', 'sex': 'girl'}
{'Name': 'Lily', 'Age': 'Eighteen', 'Sex': 'Girl'}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值