在PYTHON中用一个数字替换一个数字

时间:2016-07-16 09:16:48

标签: python arrays string character

我已经声明了一个10 * 10的电路板阵列。我正在读取电路板上0,1和2的元素。看完电路板后看起来有点像(短版本4 * 4)

   0  1  0  2 
   2  1  0  1 
   0  2  1  0 
   1  2  1  0 

代码:

board = [] 
for i in xrange(0, 10) 
    board.append(raw_input()) 

现在我想将所有出现的0更改为1.我无法更改它..我应该怎么做..请编写修改后的代码..(将错误视为不可变)

感谢你得到的答案。我应该首先将列表转换为字符串,然后使用替换函数

2 个答案:

答案 0 :(得分:1)

据我所知,你有一个清单,只想用1对替换所有0?如果是这样,您可以尝试将该列表转换为字符串并使用replace方法。例如:board = str(board)然后是board = board.replace('0','1')。然后使用eval内置函数转换回列表。但对于大型名单来说,这可能太慢了。

更新>>如果您不想使用字符串,您也可以编写代码: 如果它是2d列表,如:L = [[1, 1, 0], [0, 2, 1], [0, 0, 0]]则:

for x in L:
    for y in x:
        if y == 0:
            x[x.index(y)] = 1

如果它只是L = [1, 0, 2, 1, 0, 1]这样的常见列表,那么:

for x in L:
    if x == 0:
        L[L.index(x)] = 1

答案 1 :(得分:0)

for i in xrange(10):
    for j in xrange(10):
        if board[i][j] == 0:
            board[i][j] = 1

这应该有效。如果没有,请告诉我您如何创建board表。