如何 assemble 嵌套列表元素
How to assemble nested-list elements
def nested_list(nested):
for i in range (0, len(nested)):
for k in range (0, len(nested)):
print(nested[i][k], end = " ")
nested_list([[1,2,3],[4,5,6],[7,8,9]])
output : 1 2 3 4 5 6 7 8 9
在工作。
但是当我像这样更改 nested_list([[1,2,3,4],[5,6],[7,8,9,10]])
时,我得到了一个错误。解决此问题的最佳解决方案是什么?
您收到错误消息是因为您的原始代码采用“方形”列表(与完整列表长度相同的子列表)。
您需要更改内部 for 循环以检查当前子列表的 len,而不是整个列表:
def nested_list(nested):
for i in range(len(nested)):
for k in range(len(nested[i])): # check len of current sublist
print(nested[i][k], end = " ")
还将 range(0, len(nested))
更改为 range(len(nested))
。范围既可以作为 range(start, stop[, step])
(如果没有给出步长,则默认为 1),也可以作为从 0 开始的 range(stop)
。:)
range signatures in builtin functions list, real description of how range works
有一个快速的方法可以做到这一点:
nested_list = [[1,2,3],[4,5,6],[7,8,9]]
print(sum(nested_list, []))
sum
Python 的内置函数可用于“求和”(在本例中为连接)可迭代对象中的元素。
def nested_list(nested):
for i in range (0, len(nested)):
for k in range (0, len(nested)):
print(nested[i][k], end = " ")
nested_list([[1,2,3],[4,5,6],[7,8,9]])
output : 1 2 3 4 5 6 7 8 9
在工作。
但是当我像这样更改 nested_list([[1,2,3,4],[5,6],[7,8,9,10]])
时,我得到了一个错误。解决此问题的最佳解决方案是什么?
您收到错误消息是因为您的原始代码采用“方形”列表(与完整列表长度相同的子列表)。
您需要更改内部 for 循环以检查当前子列表的 len,而不是整个列表:
def nested_list(nested):
for i in range(len(nested)):
for k in range(len(nested[i])): # check len of current sublist
print(nested[i][k], end = " ")
还将 range(0, len(nested))
更改为 range(len(nested))
。范围既可以作为 range(start, stop[, step])
(如果没有给出步长,则默认为 1),也可以作为从 0 开始的 range(stop)
。:)
range signatures in builtin functions list, real description of how range works
有一个快速的方法可以做到这一点:
nested_list = [[1,2,3],[4,5,6],[7,8,9]]
print(sum(nested_list, []))
sum
Python 的内置函数可用于“求和”(在本例中为连接)可迭代对象中的元素。