【问题标题】:breaking appended list into indexes将附加列表分解为索引
【发布时间】:2014-06-27 00:25:37
【问题描述】:

所以现在我有代码可以给我

[-1], [1], [-1], [-1], [2], [3], [4], [-1], [5], [6], [7] , [-1], [-1], [-1], [8], [9], [-1], [-1], [-1], [10]]

但我希望它看起来像这样

myVV = [[-1, 1, -1, -1],[ 2, 3, 4, -1],[5, 6, 7, -1],[-1, -1, 8, 9],[ -1, -1, -1, 10]]

我有一个带有插入行的 for 循环

myVV.append([])

这给了我这个

[[], [-1], [1], [-1], [-1], [], [2], [3], [4], [-1], [], [ 5]、[6]、[7]、[-1]、[]、[-1]、[-1]、[8]、[9]、[]、[-1]、[-1]、 [-1], [10]]

如果我希望发生索引拆分,它会插入中断。

有什么东西可以帮助我解决这个问题吗?

【问题讨论】:

    标签: list insert indexing append


    【解决方案1】:

    使用 mod 检查是否该添加新的 []。

    l = [[-1], [1], [-1], [-1], [2], [3], [4], [-1], [5], [6], [7], [-1], [-1], [-1], [8], [9], [-1], [-1], [-1], [10]]
    l2 = []
    for i in xrange(len(l)):
        if i % 4 == 0:
            l2.append([])
        l2[i/4].append(l[i][0])
    
    print l2
    

    打印

    [[-1, 1, -1, -1], [2, 3, 4, -1], [5, 6, 7, -1], [-1, -1, 8, 9], [-1, -1, -1, 10]]
    

    【讨论】:

    • 我对这个工作有点困惑,我达到了预期的结果,但你能解释一下它是如何工作的吗?未来的事情,这样我就可以学习它并理解这里的逻辑。
    • @user3772157, i%4 将 0,1,2,3,4,5,6,... 转换为 0,1,2,3,0,1,2,... , 和 i/4 将 0,1,2,3,4,5,... 转换为 0,0,0,0,1,1,... 这些是编程中常用的模式。您只需要更多练习,很快就会开始看到相同的模式。
    • 如何使用 mod 检查何时添加新行?
    • 我发送了一个计数;但是,它不希望我想要,因为它会导致它们像模式一样发生中断,我想实现 [#####][##][# ######][##################### 之类的东西#当然是数字
    • @user3772157,对不起,我不明白你的问题。请指定输入输出
    猜你喜欢
    • 2011-12-24
    • 2015-08-03
    • 2015-11-29
    • 2021-08-11
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    相关资源
    最近更新 更多