Python列表生成式

列表生成式

python里面[]表示一个列表,快速生成一个列表可以用range()函数来生成。
对列表里面的数据进行运算和操作,生成新的列表最高效快速的办法,那就是列表生成式了。

基本使用方法

1.如果想对列表里面的数据进行运算后重新生成一个新的列表,如[11, 22, 33 … 1010],按平常思维就是先定义一个列表c,然后for循环挨个运算,算完了再append添加到c,最后c就是新的列表了

b = range(1, 11)
c = []
for i in b:
    c.append(i*i)
print(c)

结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

2.用列表生成式去实现

b = range(1, 11)
c = [x*x for x in b]
print(c)

结果:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

带if判断

1.如果想对一个列表里面的数据筛选,比如:[1, 3, -3, 4, -2, 8, -7, 6],找出大于0的数,按正常思维可以for循环挨个判断,符合条件的放到新的列表

c = [1, 3, -3, 4, -2, 8, -7, 6]
d = []
for i in c:
    if i > 0:
        d.append(i)  # 添加到列表d
print(d)

结果:[1, 3, 4, 8, 6]

2.用列表生成式

c = [1, 3, -3, 4, -2, 8, -7, 6]
d = [x for x in c if x > 0]
print(d)

结果:[1, 3, 4, 8, 6]

多个参数

前面列表生成式都只传一个参数x,如果有两个列表如何去运算?
a = [1, 2, 3, 4, 5]
b = [“a”, “b”, “c”, “d”, “e”]
得到
c = [“a1”, “b2”, “c3”, “d4”, “e5”]

a = [1, 2, 3, 4, 5]
b = ["a", "b", "c", "d", "e"]

# 多个参数列表生成式
c = [str(x)+str(y) for x, y in zip(b, a)]
print(c)

[‘a1’, ‘b2’, ‘c3’, ‘d4’, ‘e5’]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值