请将列表[ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]转换为[ [1, 4,7], [2,5,8, [3,6, 9] ]
方法一
def transpose_1(arr):
list1 = list()
arr_len = len(arr)
for i in range(len(arr[0])):
list1.append(list())
for j in range(arr_len):
list1[-1].append(arr[j][i])
return list1
方法二
def transpose_2(arr):
return [[arr[i][j] for i in range(len(arr))] for j in range(len(arr[0]))]
代码简洁规则:
1.合理使用中间变量或临时变量;
2.适量使用列表推导式等语法特性;
3.尽量使用内置函数;