Python 可迭代推导式

本文深入探讨了Python中四种推导式的使用方法:列表、元组、字典和集合推导式,通过实例展示了每种推导式的语法结构及特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python 常见的推导式包括列表推导式、元组推导式、字典推导式、集合推导式,在推导的格式方面它们是类似的
只是返回的元素类型不同

1、 列表推导式
常用格式:
[expression for item in iterable]#基本格式
[expression for item1 in iterable1 for item2 in iterable2]#双重循环
[expression for item in iterable if item……]#先if 判断再 expression 计算
[expression if condition else expression2 for item in iterable]#依据condition 决定expression或者 expression2 去组成列表元素
格式说明:
expression、expression2:表达式的值或者函数返回值
item、item1、item2:迭代的元素
iterable、iterable1、iterable2:可迭代对象
从程序可读方面不建议使用多重循环

实例:

显示:


2、 元组推导式
       元组推导式与列表推导式类似,只是用tuple()方法转化为tuple 类型
       实例我就写基本格式与if 格式 其他的参照列表推导式也是很容易写的
       实例:
       tup = tuple(i for i in range(12))
       print(tup)
       tup2 = tuple(str(i)+"是偶数" if i % 2==0 else str(i)+"是奇数" for i in range(12) if i > 2 and i<=7)
       print(tup2)

       显示:

3、字典推导式
      字典推导式与列表推导式同样类似,只是用{}符号替换[]、用KeyExpression:ValueExpression 替换expression
      实例我就写基本格式与if 格式 其他的参照列表推导式也是很容易写的

      实例:
      print("======字典推导式======")
      dic = {v:k for k,v in {"今天":"周五","明天":"周六"}.items()}
      print(dic)
      dicIF = {v:k for k,v in {"今天":"周五","明天":"周六"}.items() if k=="今天"}
      print(dicIF)
      dicIF2= {k if k=="今天" else "明天就是":v for k,v in {"今天":"周五","明天":"周六"}.items()}
      print(dicIF2)

      显示:


4、  集合推导式
       集合推导式与列表推导式也是类似的,只是用{}符号替换[] 但是集合可以自动去重的。
       实例我就写基本格式与if 格式 其他的参照列表推导式也是很容易写的。

        实例:
        s = {n**2 for n in [1, 1, 16,16]}
        print(s)
        s2 = {n**2 for n in [1, 1, 16,16] if n>2}
        print(s2)

        显示:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值