【问题标题】:How to assemble nested-list elements如何组装嵌套列表元素
【发布时间】:2022-01-19 14:24:40
【问题描述】:
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]])

输出:1 2 3 4 5 6 7 8 9

它正在工作。 但是当我像这样更改nested_list([[1,2,3,4],[5,6],[7,8,9,10]])时,我得到一个错误。解决此问题的最佳解决方案是什么?

【问题讨论】:

标签: python python-3.x list python-2.7 nested


【解决方案1】:

您收到错误消息,因为您的原始代码假定为“方形”列表(与完整列表长度相同的子列表)。

您需要更改内部 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 既可以用作range(start, stop[, step])(如果没有给出步骤,则默认为 1)和从 0 开始的range(stop)。:)

range signatures in builtin functions list, real description of how range works

【讨论】:

  • 我明白先生。谢谢你:)
  • 不是先生。 @JackHarmon
  • 对不起女士。再次感谢您
  • @JackHarmon 也不是女士......如果你不知道你在和谁说话,最好完全避免使用性别语言。特别是因为英语第二人称已经是中性的了。
  • 你是对的。我会注意再次谢谢你。
【解决方案2】:

有一个快速的方法来做到这一点:

nested_list = [[1,2,3],[4,5,6],[7,8,9]]
print(sum(nested_list, []))

sum Python 的内置函数可用于“求和”(在本例中是连接)可迭代对象中的元素。

【讨论】:

  • 那很好。谢谢你的帮助:)
  • @JackHarmon,我建议接受两个答案之一,以使其他用户确保提出的解决方案确实有效。
猜你喜欢
  • 2022-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-13
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2021-06-16
相关资源
最近更新 更多