推导式

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

python 支持的数据结构推导式:

  • 列表
  • 元组
  • 字典
  • 集合

列表推导式


[表达式 for 变量 in 列表] 
[out_exp_res for out_exp in input_list]

或者 

[表达式 for 变量 in 列表 if 条件]
[out_exp_res for out_exp in input_list if condition]
  • out_exp_res: 列表生成元素表达式,可以是有返回值的函数
  • for out_exp_res in input_list:迭代 input_list 将 out_exp 传入到 out_exp_res 表达式中
  • if condition:条件语句,可以过滤掉列表中不符合条件的元素

字典生成式


# 使用字符串创建字典

listdemo = ['Google','Runoob', 'Taobao']

# 将列表中各字符串为键,各字符串长度为值,组成键值对

dict1 = {key:len(key) for key in listdemo}

print(dict1)

# 提供3个数以3个数为键,3个数的平方为值

dict2 = {key:key**2 for key in (2,3,4)}

print(dict2)

集合推导式


# 计算数字1,2,3的平方

set_demo = {key**2 for key in [1,2,3]}

print(set_demo)

# 判断不是a,b,c的字母并输出

set_demo1 = {i for i in 'abcderfg' if i not in 'a,b,c'}

print(set_demo1)

元组推导式(生成器表达式)


元组推导式可以利用 range 区间、列表、字典、集合等按照要求快速生成一个元组

a = (x for x in range(1,10))  
a  
<generator object <genexpr> at 0x7faf6ee20a50>  # 返回的是生成器对象  
  
tuple(a)       # 使用 tuple() 函数,可以直接将生成器对象转换成元组  
(123456789)
posted @   鱼仔_yuzai  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示