5 Python循环嵌套案例

本文介绍了如何使用Python实现矩阵转置操作,通过列表推导式展示了升序排序技巧,并深入剖析了嵌套列表推导式在创建扑克牌和掷骰子场景的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

矩阵转置

"""
    矩阵转置
        将list01中的每列,存储到list02中的每行.
"""

list01 = [
    [1, 2, 3, 4],
    [5, 6, 7, 8],
    [9, 10, 11, 12],
    [13, 14, 15, 16],
]

list02 = []
for c in range(4):
    line = []
    for r in range(4):
        line.append(list01[r][c])
    list02.append(line)

print(list02)

排序

"""
    [5,56,65,7,87,3,9]
    升序(小 -->  大)
    思想:
        取出前几个(不要最后一个)
        依次与后面进行比较
        如果发现更小的则交换
"""
list01 = [5, 56, 65, 7, 87, 3, 9]

# 让列表中所有元素,俩俩比较。
# 取数据   取到倒数第二个,倒数第一个后面没有数据了
for r in range(len(list01)-1):#0 1 2 3...len-2
    # 做比较
    for c in range(r+1, len(list01)):
        if list01[r] > list01[c]:
            list01[r],list01[c] = list01[c],list01[r]
print(list01)

列表推导式嵌套

# 1. 打印扑克牌
# 花色:["红桃","黑桃","方片","梅花"]
# 数字:["A","2","3","4","5","6","7","8","9","10","J","Q","k"]
list_suit = ["红桃", "黑桃", "方片", "梅花"]
list_number = ["A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "k"]
list_poket = [suit + number for suit in list_suit for number in list_number]
print(list_poket)

# 2. 一個色子有1--6個數字range(1,7)
# 請打印出3个色子所有的数字
# list_result = []
# for x in range(1,7):
#     for y in range(1,7):
#         for z in range(1,7):
#             list_result.append((x,y,z))
list_result = [(x, y, z) for x in range(1, 7) for y in range(1, 7) for z in range(1, 7)]
print(list_result)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Minner-Scrapy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值