我正在尝试使函数返回此:
42334
44423
21142
14221
由此:
polje = [[1, 2, 4, 4], [4, 1, 4, 2], [2, 1, 4, 3], [2, 4, 2, 3], [1, 2, 3, 4]]
该功能仅遍历列表并从最后一个开始打印其元素。我已经能够通过打印得到正确的结果,但是我正在努力使之能够使函数简单地返回结果。我该怎么做?我已经尝试过生成器,用于循环的单行等,但是互联网上的注释并不丰富,并且通常以复杂的方式编写...
这是到目前为止我得到的代码:
def izpisi(polje):
i = len(polje[0]) - 1
while i >= 0:
for e in polje:
print(e[i], end="")
i -= 1
print("\n")
return 0
最佳答案
def izpisi(polje):
return '\n'.join([ # inserts '\n' between the lines
''.join(map(str, sublst)) # converts list to string of numbers
for sublst in zip(*polje) # zip(*...) transposes your matrix
][::-1]) # [::-1] reverses the list
polje = [[1, 2, 4, 4], [4, 1, 4, 2], [2, 1, 4, 3], [2, 4, 2, 3], [1, 2, 3, 4]]
print izpisi(polje)
关于python - 在Python的while循环内返回for循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27666120/