栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python推导式

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python推导式

Python推导式
  • 推导式种类
  • 列表推导式
    • 列表推导式语法
    • 列表推导式举例
  • 字典推导式
    • 字典推导式语法
    • 字典推导式举例
  • 元组集合推导式

Python 推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。

推导式种类
  • 列表(list)推导式
  • 字典(dict)推导式
  • 集合(set)推导式
  • 元组(tuple)推导式
列表推导式 列表推导式语法
[表达式 for 变量 in 序列] 
[表达式 for 变量 in 序列 if 条件]		#只有一个if时放最后
[表达式1 if条件 else 表达式2 for 变量 in 序列]  #if else时三目运算放前面
[表达式  for if for if for if…] for嵌套if,if嵌套for… 
列表推导式举例
# 单条件
names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
new_names = [name.upper()for name in names if len(name)>3]
print(new_names)
result:
['ALICE', 'JERRY', 'WENDY', 'SMITH']

# if else型
names = ['Bob','Tom','alice','Jerry','Wendy','Smith']
new_names = [name.upper() if len(name)>3 else name.lower() for name in names]
print(new_names)
result:
['bob', 'tom', 'ALICE', 'JERRY', 'WENDY', 'SMITH']

#嵌套循环型
list1=[(i, j) for i in range(3) if(i%2==0) for j in range(5) if(j%2)==0]
print(list1)
result:
[(0, 0), (0, 2), (0, 4), (2, 0), (2, 2), (2, 4)]
字典推导式 字典推导式语法
{key_exp:value_exp for key,value in dict.items()}
{key_exp:value_exp for key,value in dict.items() if condition}
{key_exp:value_exp1 if condition else value_exp2 for key,value in dict.items()}
[表达式  for if for if for if…] for嵌套if,if嵌套for… 
字典推导式举例
```其它同列表推导式
dict1 = {"a":10,"B":20,"C":True,"d":"mangnolia","E":"python"}
dict2 = {key:value if key.isupper() else "error" for key,value in dict1.items()}
print(dict2)

result:
{'a': 'error', 'B': 20, 'C': True, 'd': 'error', 'E': 'python'}
元组集合推导式
  • 元组推导式同列表推导式。
  • 集合推导式同列表推导式,但是会自动去重。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/859132.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号