如何替换二维数组中的特定字符串?

时间:2019-01-25 13:23:05

标签: python

我正在制作一个程序,该程序标识是否存在空白图块。我的二维数组中已经有一个代码

arr2 = [['0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' 'E' 'A' '#' 'L' 'E' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' '0' 'P' '0' '0' '0' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' '0' 'P' 'E' 'A' 'K' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' '0' 'L' '0' '0' '0' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' '0' 'E' '0' '0' '0' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0']
 ['0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0' '0']]

我想将为空白图块标记的#替换为字母(A-Z)中的字母之一。我已经编写了替换空白图块的代码。

for i in arr2:
    for j in i:
        if j == '#':
           i = [j.replace('#', 'A')]

但是由于某种原因,它仍然是#而不是A。如何将给定数组中的#(空白图块)替换为字母?另外,我如何发出弹出消息,以便玩家只需输入字母来代替#(即空白图块)?

4 个答案:

答案 0 :(得分:0)

您要替换变量i的内容,而不是它所来自的数组元素。

答案 1 :(得分:0)

您必须枚举数据,而不是仅遍历数据,以便获取项目的索引并替换它。

for xindex, x in enumerate(arr2):
    for yindex, y in enumerate(x):
        if y == "#":
            arr2[xindex][yindex] = "A"

答案 2 :(得分:0)

您必须枚举数组以更改特定索引处的值。

for i, row in enumerate(arr2):
    for j, cell in enumerate(row):
        if cell == '#':
            arr2[i][j] = 'A'

答案 3 :(得分:-1)

>>> arr = [['h','b','j','#'],['a','d','c','k']]
>>> for i in arr:                               
...     for letter in i:
...             x = letter.replace('#','A')     
...             print(x)
...                                             
h
b                                               
j
A                                               
a
d                                               
c
k                                               
>>>

此示例如何更改数组中的空格字母或字符串