python 列表解析

列表解析 List Comprehensions

表达式:[expression for iter_val in iterable if cond_expr]

  • [expression]:最后执行的结果
  • [for iter_val in iterable]:这个可以是一个多层循环
  • [if cond_expr]:判断语句
 print([(x,y) for x in [1,2]for y in [3,4]])
 print([(x,y)for x in [1,2]for y in [3,x]])
 print([(x,y)for x in [1,y]for y in [3,4]])  # 错误

在这里插入图片描述

newlist1 = [(i+1)**2 for i in range(10)]
print(newlist1)
print(type(newlist1))

# 生成10个0的列表
newlist2 = [0 for _ in range(10)]   # _ 表示不引用
print(newlist2)

# 生成10个[0]的嵌套列表
newlist3 = [[0] for _ in range(10)]
print(newlist3)

# 求偶数
newlist4 = [i for i in range(20) if i % 2 == 0]
print(newlist4)

# 既能被2整出,又能被3整除
newlist5 = [i for i in range(10) if i % 2 == 0 and i % 3 == 0]
print(newlist5)

# 能被2整出,或能被3整除
newlist6 = [i for i in range(10) if i % 2 == 0 or i % 3 == 0]
print(newlist6)

newlist7 = [(x, y) for x in 'abcde' for y in range(3)]
print(newlist7)

newlist8 = [(x, y) for x in range(7) if x > 4 for y in range(20, 25)  if y > 23]
print(newlist8)

newlist9 = [(x, y) for x in range(7) for y in range(20, 25) if x > 4 and y > 23]
print(newlist9)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值