Python之列表生成式

                                         列表生成式

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都做网站、成都网站建设、玉门网络推广、重庆小程序开发公司、玉门网络营销、玉门企业策划、玉门品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供玉门建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

一、生成列表[1, 4, 9, 16, 25, 36]

# 使用for in 循环
L = []
for i in range(1,7):
    L.append(i * i)
print(L) # [1, 4, 9, 16, 25, 36]

# 列表生成式
L = [i * i for i in range(1,7)]
print(L) # [1, 4, 9, 16, 25, 36]

二、列表生成式中循环带if嵌套,例如:不取余2的时候,与自身相乘

#使用for in循环和if
L = []
for i in range(1,7):
    if not i % 2:
        L.append(i * i)
print(L) #[4, 16, 36]

# 列表生成式
L = [i * i for i in range(1,7) if not i % 2]
print(L) # [4, 16, 36]

三、支持双重循环

# 双重for in循环
L = []
for i in range(1,4):
    for j in range(1,4):
        L.append([i,j])
print(L) # [[1, 1], [1, 2], [1, 3], [2, 1], [2, 2], [2, 3], [3, 1], [3, 2], [3, 3]]

#列表生成式
L = [ [i,j] for i in range(1,4) for j in range(1,4)]
print(L) # [[1, 1], [1, 2], [1, 3], [2, 1], [2, 2], [2, 3], [3, 1], [3, 2], [3, 3]]

四、 双重循环嵌套if

# 双重循环嵌套if
L = []
for i in range(1,4):
    for j in range(1,4):
        if not i == j:
            L.append((i,j))
print(L) # [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]

# 列表生成式
L = [ (i,j) for i in range(1,4) for j in range(1,4) if not i == j]
print(L) # [(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]

五、列表中嵌套列表

# for in 循环实现
L2 = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
L = []
# 大循环取索引
for i in range(4):
    L1 = []
    # 小循环取列表中的元素[1,2,3,4],[5,6,7,8],[9,10,11,12]
    for j in L2:
        L1.append(j[i])
    L.append(L1)
print(L) # [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

#列表生成式
L = [[ j[i] for j in L2 ] for i in range(4)]
print(L) # [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

本文标题:Python之列表生成式
分享网址:http://hbruida.cn/article/pjjppo.html