如何使用Python输出多维列表
我正在尝试将第一个多维数组转换为第二个多维数组:如何使用Python输出多维列表,python,Python,我正在尝试将第一个多维数组转换为第二个多维数组: [[1,4,7], [3,6,2], [2,5,9], [88,6,1]] 到 我写了这个函数 def rotate(myList): newList = [] reverseList = list(reversed(myList)) for subList in reverseList: newList.append(subList[0]) print(newList) rotate([[1,
[[1,4,7], [3,6,2], [2,5,9], [88,6,1]]
到
我写了这个函数
def rotate(myList):
newList = []
reverseList = list(reversed(myList))
for subList in reverseList:
newList.append(subList[0])
print(newList)
rotate([[1,4,7], [3,6,2], [2,5,9], [88,6,1]])
这个输出
[88, 2, 3, 1]
我反转多维列表,对于反转多维列表中的每个子列表,我将第一个元素附加到一个名为newList的新列表中
这是一个良好的开端,但并不完整。如何输出其余的列表?在这种情况下,我不知道如何将多个列表输出到新的多维列表。zip()
是您的朋友
def rotate(mylist):
return list(zip(*mylist[::-1]))
这会反转mylist
,将每个子列表发送到zip()
,并将其转换为列表
>>> rotate([[1,4,7], [3,6,2], [2,5,9], [88,6,1]])
[(88, 2, 3, 1), (6, 5, 6, 4), (1, 9, 2, 7)]
zip()
是你的朋友
def rotate(mylist):
return list(zip(*mylist[::-1]))
这会反转mylist
,将每个子列表发送到zip()
,并将其转换为列表
>>> rotate([[1,4,7], [3,6,2], [2,5,9], [88,6,1]])
[(88, 2, 3, 1), (6, 5, 6, 4), (1, 9, 2, 7)]
首先,可以创建一个空多维数组,其中包含希望输出的行数和列数,然后用原始矩阵的换位值填充该数组
def rotate(A, m, n):
A = A[::-1]
C = [[0 for j in range(n)] for i in range(m)]
for i in range(n):
for j in range(m):
C[j][i] = A[i][j]
return C
首先,可以创建一个空多维数组,其中包含希望输出的行数和列数,然后用原始矩阵的换位值填充该数组
def rotate(A, m, n):
A = A[::-1]
C = [[0 for j in range(n)] for i in range(m)]
for i in range(n):
for j in range(m):
C[j][i] = A[i][j]
return C
我不知道zip的事。这是一个完美的解决方案。如果时间允许,我会接受答案。谢谢,我不得不问,*做什么?@PencilCrate-它将iterable解包,并将每个元素作为单独的参数发送。试试print([1,2,3])
和print(*[1,2,3])
。我不知道zip。这是一个完美的解决方案。如果时间允许,我会接受答案。谢谢,我不得不问,*做什么?@PencilCrate-它将iterable解包,并将每个元素作为单独的参数发送。尝试打印([1,2,3])
和打印(*[1,2,3])
。在创建时填充它有什么问题?您可能应该保留相同的方法签名,只需自动计算m
和n
<代码>定义旋转(A):返回[[A[:-1][j][i]表示范围内的j(len(A))]表示范围内的i(len(A[0])]
。在创建时填充它有什么问题?您可能应该保留相同的方法签名,只需自动计算m
和n
<代码>定义旋转(A):返回[[A[:-1][j][i]表示范围内的j(len(A))]表示范围内的i(len(A[0])]
。