python生成式

本文深入探讨了Python中的三种生成式:列表生成式、字典生成式和集合生成式。通过这些生成式,可以高效地创建动态数据结构,尤其适用于处理大量数据时,有效节省内存。
摘要由CSDN通过智能技术生成

1.列表生成式

# 需求:生成一个列表,列表元素分别为[1**1,2**2,3**3...n**n]
li = []
for i in range(1,8):
     li.append(i**i)
print(li)

"""
# 列表生成式使用规则如下
[experssion for item in 序列 if 判断语句]
"""
# 以下两句效果等同上
li = [i**i for i in range(1,8)]
print(li)

# 可以添加判断语句,生成1~10的偶数
li = [i for i in range(1,11) if i % 2 ==0]
print(li)

#  s1='ABC' s2='123'
# A1 A2 A3 B1 B2 B3 C1 C2 C3
#可以有两个循环等同于for嵌套for
print([i + j for i in 'ABC' for j in '123'])

"""
 需求:讲3x3的矩阵转换成一堆数组(列表)
"""
li = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

resli = []
for item in li:  # [1,2,3] [4,5,6] [7,8,9]
    for item2 in item:
        resli.append(item2)
print(resli)
#生成式
resli2 = [item2 for item in li for item2 in item]
print(resli2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值