Python3学习9 列表、元组、集合、字典的推导式

一、列表推导式

for…

不使用推导式:

t = []
for i in range(10):
    t.append(i)
print(t)  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

推导式:

print([i for i in range(10)])  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
for… if…

不使用推导式:

t = []
for i in range(10):
    if i % 2 == 0:
        t.append(i)
print(t)  # [0, 2, 4, 6, 8]

推导式:

print([i for i in range(10) if i % 2 == 0])  
# [0, 2, 4, 6, 8]
for… if…else…

不使用推导式:

t = []
for i in range(10):
    if i % 2 == 0:
        t.append(i)
    else:
        t.append(8)
print(t)  # [0, 8, 2, 8, 4, 8, 6, 8, 8, 8]

推导式:

print([i if i % 2 == 0 else 8 for i in range(10)]) 
# [0, 8, 2, 8, 4, 8, 6, 8, 8, 8]
练习1:将字符串中所有数字提出,形成新的字符串
str1 = "abcA234BDF5687"
print(''.join([i for i in str1 if i.isdigit()]))  # 2345687

二、元组推导式

e = (i for i in range(10))
print(e)  # <generator object <genexpr> at 0x03BB50F0>
print(tuple(e))  # (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)

三、集合推导式

将列表元素添加到空集合

s = {i for i in [1, 2, 3, 45, 3, 2, 1]}
print(s)  # {1, 2, 3, 45}

四、字典推导式

创建字典

d = {i:i*i for i in range(10)}
print(d)  # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值