【问题标题】:Changing 2D list in python one index at a time在 python 中一次更改一个索引中的 2D 列表
【发布时间】:2014-04-03 01:21:32
【问题描述】:

所以我有一个二维列表说

A= [[67, 89, 46, 43], [7, 58, 72, 100], [38, 39, 73, 75]] 我想一次遍历每列的每个索引并将值更改为“x” 所以

[[x, 89, 46, 43], [7, 58, 72, 100], [38, 39, 73, 75]]
[[x, 89, 46, 43], [x, 58, 72, 100], [38, 39, 73, 75]]
[[x, 89, 46, 43], [x, 58, 72, 100], [x, 39, 73, 75]]
[[x, x, 46, 43], [x, 58, 72, 100], [x, 39, 73, 75]]
[[x, x, 46, 43], [x, x, 72, 100], [x, 39, 73, 75]]

我试过了

   for col in range(len(well[0])):
        row=0
        while row < len(well):
            input()
            well[row][col]='x'
            row+=1
            showWell(well)

 for j in range(len(wellPlate[0])):
        for i in range(len(wellPlate)):
                wellPlate[i][j]='x'
                input()
                showWell(wellPlate)      

但是,这两个都返回了一次更新的每一行! 更令人困惑的是,如果我在 shell 中输入这些命令,它会完美运行! 这是怎么回事?!?!?!

【问题讨论】:

  • 你记得在打电话给他们之前重置A吗?

标签: python list indexing 2d


【解决方案1】:

假设所有子列表的大小相同。

算法如下:

A = [[67, 89, 46, 43], [7, 58, 72, 100], [38, 39, 73, 75]]
for cell in range(len(A[0])):
    for row in range(len(A)):
        A[row][cell] = 'x'
        print A

这个输出

[['x', 89, 46, 43], [7, 58, 72, 100], [38, 39, 73, 75]]
[['x', 89, 46, 43], ['x', 58, 72, 100], [38, 39, 73, 75]]
[['x', 89, 46, 43], ['x', 58, 72, 100], ['x', 39, 73, 75]]
[['x', 'x', 46, 43], ['x', 58, 72, 100], ['x', 39, 73, 75]]
[['x', 'x', 46, 43], ['x', 'x', 72, 100], ['x', 39, 73, 75]]
[['x', 'x', 46, 43], ['x', 'x', 72, 100], ['x', 'x', 73, 75]]
[['x', 'x', 'x', 43], ['x', 'x', 72, 100], ['x', 'x', 73, 75]]
[['x', 'x', 'x', 43], ['x', 'x', 'x', 100], ['x', 'x', 73, 75]]
[['x', 'x', 'x', 43], ['x', 'x', 'x', 100], ['x', 'x', 'x', 75]]
[['x', 'x', 'x', 'x'], ['x', 'x', 'x', 100], ['x', 'x', 'x', 75]]
[['x', 'x', 'x', 'x'], ['x', 'x', 'x', 'x'], ['x', 'x', 'x', 75]]
[['x', 'x', 'x', 'x'], ['x', 'x', 'x', 'x'], ['x', 'x', 'x', 'x']]

【讨论】:

  • 这看起来和你的第二个完全一样,对我来说效果很好。
猜你喜欢
  • 2018-04-02
  • 2020-06-30
  • 2017-09-05
  • 2010-11-03
  • 1970-01-01
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多