【问题标题】:Adding lists to existing nested lists将列表添加到现有的嵌套列表
【发布时间】:2016-03-14 07:43:23
【问题描述】:

我非常接近将侧翼列表添加到我的嵌套列表中,但我似乎无法让它工作。我目前正在使用此代码。

glider = [[1,2,3],[1,2,3]]
border = []
for i in range (len(glider[0])):
    border.append(0)
glider.insert(i,border)
glider.append(border)

这将打印[[1,2,3],[1,2,3],[0,0,0],[0,0,0]]。然而,我希望它打印[[0,0,0],[1,2,3],[1,2,3],[0,0,0]]。有没有办法可以修改我现有的代码来做到这一点?谢谢。

编辑:Glider 是一个不同的嵌套列表,其中可以有尽可能多的列表或列表中的字符。但是,每个列表将始终具有相同数量的字符。

【问题讨论】:

    标签: python list python-3.x nested


    【解决方案1】:

    for 循环执行后,i 为 2,因此您实际上是在滑翔机内容之后的索引 2 处插入边框。

    您应该将0 传递给list.insert

    glider.insert(0, border)
    glider.append(border)
    

    这会将边框添加到开头和结尾。

    注意,如果你只做border = [0] * len(glider[0]),你可以简化“边框创建”并摆脱循环:

    glider = [[1, 2, 3], [1, 2, 3]]
    
    glider.insert(0, [0] * len(glider[0]))
    glider.append([0] * len(glider[0]))
    

    【讨论】:

    • 为什么不只是n = len(glider[0]) glider = [[0] * n] + glider + [[0] * n]
    猜你喜欢
    • 1970-01-01
    • 2021-01-15
    • 1970-01-01
    • 2021-01-23
    • 2017-12-07
    • 2022-01-20
    • 1970-01-01
    • 2016-11-13
    相关资源
    最近更新 更多