python列表推导式

1、简单模式

只包含循环操作

  • 常规写法
# 常规写法1
list_1 = []

for i in range(1, 10):
    list_1.append(i)

print(list_1)

# 常规写法2
list_2 = []
for i in range(1, 10):
    list_2.append(i*i)

print(list_2)
  • 列表推导式
# 列表推导式1
list_1 = [x for x in range(1, 10)]
print(list_1)

# 列表推导式2
list_2 = [i*i for i in range(1, 10)]
print(list_2)

2、一般模式

包含判断和筛选

  • 常规写法
# 常规写法1
list_1 = []

for i in range(1, 10):
    if i % 2 == 0:  # 只选取偶数
        list_1.append(i)

print(list_1)
# 常规写法2
list_2 = []

for i in range(1, 10):
    if i % 2 == 0:  # 只选取偶数
        list_2.append(i*i)

print(list_2)
  • 列表推导式
# 列表推导式1
list_1 = [i for i in range(1, 10) if i % 2 == 0]
print(list_1)

# 列表推导式2
list_2 = [i*i for i in range(1, 10) if i % 2 == 0]
print(list_2)

3、变态模式

包含循环嵌套、判断和筛选

  • 常规写法
list_ = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 常规写法1
list_1 = []
for i in list_:
    for j in i:
        if j % 2 == 0:
            list_1.append(j)

print(list_1)
# 常规写法2
list_2 = []
for i in list_:
    for j in i:
        if j % 2 == 0:
            list_2.append(j * j)

print(list_2)
  • 列表推导式
list_ = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 列表推导式1
list_1 = [j for i in list_ for j in i if j % 2 == 0]
print(list_1)

list_2 = [j*j for i in list_ for j in i if j % 2 == 0]
print(list_2)

相关代码地址:https://gitee.com/justinc666/basis/tree/master/列表推导式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值