实现二维数组的转置
转置思路
简单的想法为设置一个新的变量,将一个数赋值给新变量后再将这个数进行转换,然后把另一个需要转换的数等于新变量。
# # 实现思路
# # temp = l[0][1]
# # l[0][1] = l[1][0]
# # l[1][0] = temp
实现代码(1)
for i in range(len(l)):
for j in range(len(l[i])):
if i > j:
temp = l[i][j]
l[i][j] = l[j][i]
l[j][i] = temp
print(l)
#采用双曾for循环遍历二维数组,将二维数组每个元素都遍历出来
#采用上面思路,将每个需要转置的元素进行赋值
简化版代码(2)
for i in range(len(l)):
for j in range(len(l[i])):
if i > j:
l[i][j], l[j][i] = l[j][i], l[i][j]
print(l)
#实际思路仍与上述方法相同,将元素的赋值进行优化。
扩展,输出二维数组的每组最大值
找出一个二维数组每列的最大值
l = [
[1, 20, 3],
[40, 5, 6],
[7, 8, 90]
]
思路
本体思路是采用双层for循环并将每一个小列表中的第一个数赋值给一个变量,然后用列表中的其他数与变量进行比较,大于则赋值,最后遍历完成进行输出。
l = [
[1, 20, 3],
[40, 5, 6],
[7, 8, 90]
]
for i in range(len(l)):
max_value = l[0][i]
for j in range(len(l[i])):
if l[j][i] > max_value:
max_value = l[j][i]
print(f"第{i}列最大值{max_value}")