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'}
3424

被折叠的 条评论
为什么被折叠?



