首页 > 编程语言 > 详细

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

时间:2020-04-06 21:23:35      阅读:74      评论:0      收藏:0      [点我收藏+]

一、列表生成式

# 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

 

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

原文:https://www.cnblogs.com/ac-chang/p/12644013.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!