【Python基础知识】(19)三种内置生成式

一、列表生成式

# 1. 列表生成式,语法:[被追加的数据 循环语句 循环或者判断语句]
lst2 = [i * 10 for i in range(10, 20)]
print(lst2)  # 输出:[100, 110, 120, 130, 140, 150, 160, 170, 180, 190]
# 原本实现:
lst2 = []
for i in range(10, 20):
    lst2.append(i * 10)

lst3 = [i * 10 for i in range(10, 20) if i % 2 == 0]
print(lst3)  # 输出:[100, 120, 140, 160, 180]
# 原本实现:
lst3 = []
for i in range(10, 20):
    if i % 2 == 0:
        lst3.append(i * 10)

lst4 = [i * j for i in range(1, 5) for j in range(1, 5)]
print(lst4)  # 输出:[1, 2, 3, 4, 2, 4, 6, 8, 3, 6, 9, 12, 4, 8, 12, 16]
# 原本实现:
lst4 = []
for i in range(1, 5):
    for j in range(1, 5):
        lst4.append(i * j)

二 、字典生成式

# 2. 字典生成式
lst5 = ["张三", "李四", "王五"]
dict1 = {i: lst5[i] for i in range(0, len(lst5))}
print(dict1)  # 输出:{0: '张三', 1: '李四', 2: '王五'}
# 原本实现:
dict1 = {}
for i in range(0, len(lst5)):
    dict1[i] = lst5[i]

三、集合生成式

# 3. 集合生成式
set1 = {i * j for i in range(1, 4) for j in range(1, 4) if i == j}
print(set1)  # 输出:{1, 4, 9}
# 原本实现:
for i in range(1, 4):
    for j in range(1, 4):
        if i == j:
            set1 = i * j
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值