如何 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 的内置函数可用于“求和”(在本例中为连接)可迭代对象中的元素。