找到二位列表每列最大值

第一种方法:

list_s = [
    [1, 20, 3],
    [40, 5, 6],
    [7, 8, 90]
]

result = []
for i in list_s:
    for j in i:
        result.append(j)

results = []
for value_index in range(len(result)):
    results.append([result[value_index], result[value_index + 3], result[value_index + 6]])
    if value_index == 2:
        break

for m in results:
    max_value = None
    for n in range(len(m)):
        if max_value is None:
            max_value = m[n]
        elif max_value < m[n]:
            max_value = m[n]
    print(max_value)

​​​​​​一、

list_s = [
    [1, 20, 3],
    [40, 5, 6],
    [7, 8, 90]
]

result = []
for i in list_s:
    for j in i:
        result.append(j)
  1. 列表 list_s 的定义:

    • list_s 是一个包含三个子列表的二维列表,每个子列表包含三个整数。
  2. 生成 result 列表:

    • result 是一个扁平化的列表,通过将 list_s 中的每个元素(子列表中的每个整数)追加到 result 中而得到。

二、

results = []
for value_index in range(len(result)):
    results.append([result[value_index], result[value_index + 3], result[value_index + 6]])
    if value_index == 2:
        break
  1. 生成 results 列表:
    • results 是一个包含三个子列表的列表,每个子列表包含三个元素,分别来自于 result 的不同索引位置。
    • value_index 的范围是 0 到 2,因为 result 有九个元素,所以这里只取了前三个元素形成了 results 中的每个子列表。

三、

for m in results:
    max_value = None
    for n in range(len(m)):
        if max_value is None:
            max_value = m[n]
        elif max_value < m[n]:
            max_value = m[n]
    print(max_value)
  1. 寻找每个子列表中的最大值并打印:
    • 对于 results 中的每个子列表 m,使用双重循环来找出最大值。
    • 内部循环遍历子列表 m 的每个元素,比较并更新 max_value 变量。
    • 最后打印出每个子列表 m 的最大值。

总结分析:

  • 数据准备阶段: 初始的二维列表 list_s 被展开为一维列表 result,使得元素可以按照特定顺序重新组合。

  • 结果处理阶段: result 被分成三组,每组三个元素,形成了 results 列表。每个子列表代表了原始二维列表的列的组合。

  • 最大值计算与输出: 使用双重循环来找出每个子列表中的最大值,并将其打印出来。

第二种方法:

list_s = [
    [1, 20, 3],
    [40, 5, 6],
    [7, 8, 90]
]

for i in range(len(list_s)):
    max_value = list_s[0][i]
    for j in range(len(list_s)):
        if max_value < list_s[j][i]:
            max_value = list_s[j][i]
    print(max_value)

一、

max_value = list_s[0][i]

max_value 被初始化为当前列的第一个元素的值,即 list_s[0][i]

二、

for j in range(len(list_s)):
    if max_value < list_s[j][i]:
        max_value = list_s[j][i]

在内层循环中,j 遍历 list_s 的所有行,通过比较每行的当前列元素与 max_value 的值来更新 max_value。如果当前行的元素大于 max_value,则将 max_value 更新为该元素的值。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值