第一种方法:
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)
-
列表
list_s
的定义:list_s
是一个包含三个子列表的二维列表,每个子列表包含三个整数。
-
生成
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
- 生成
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)
- 寻找每个子列表中的最大值并打印:
- 对于
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 更新为该元素的值。