python列表推导式

本文详细介绍了Python的列表推导式,包括其基本结构、带条件的推导、使用lambda函数的推导以及涉及多重循环的复杂推导,旨在帮助读者掌握这种简洁高效的列表创建方式。

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

Python的列表推导式又称(列表解析式子)提供了一种简明扼要方便的方法来创建列表

一般结构是,一个中括号中,包含一个表达式,一个for 语句,然后是 0 个或多个 for 或者 if 语句
结构拆解:

  • 最简单的列表推导式
[x for x in range(1,8)]  # 1-7
  • 加判断条件的列表推导式
[x for x in range(1,8) if x >5] # [6,7]
  • 加lambda(匿名函数)的列表推导式
functions=[ lambda x,i=i: x*i for i in range(1,9)]
for function in functions:
    print(function(3)) # 返回的是函数,传惨,相当于for i in range(1,9) x =x*i (3*1,3*2....3*8)
# 输出 
3
6
9
12
15
18
21
24
  • 多重判断列表推导式
res = [x for x in range(10) if(x>1) if(x<5)]
print(res)
# [2, 3, 4]
  • 多重循环列表推导式
[x-y for x in range(10) if(x>8) for y in range(5) if (x-y) > 0]
# [9, 8, 7, 6, 5]

# 等价于:
list1 = []
for x in range(10):
    if x > 8:
        for y in range(5):
            if (x-y) > 0:
               list1.append(x-y)
print(list1)
# [9, 8, 7, 6, 5]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值