用字符串替换列表元素中的列表元素
Replacing list element within list element with a string
所以我正在尝试创建一个网格,可以用任何给定的符号替换它的单个 "grid squares"。网格工作正常,但它是由列表中的列表组成的。
这是代码
size = 49
feild = []
for i in range(size):
feild.append([])
for i in range(size):
feild[i].append("#")
feild[4][4] = "@" #This is one of the methods of replacing that I have tried
for i in range(size):
p_feild = str(feild)
p_feild2 = p_feild.replace("[", "")
p_feild3 = p_feild2.replace("]", "")
p_feild4 = p_feild3.replace(",", "")
p_feild5 = p_feild4.replace("'", "")
print(p_feild5)
如您所见,这是我尝试替换元素的一种方法,我也尝试过:
feild[4[4]] = "@"
和
feild[4] = "@"
第一个将左起所有“#”4个元素替换为“@”
第二个给出以下错误
TypeError: 'int' object is not subscriptable
可能您正在寻找这个 :-
size = 49
feild = []
for i in range(size):
feild.append([])
for i in range(size):
map(feild[i].append, ["#" for _ in xrange(size)])
i = 4
feild[i][0] = "@"
将 #
的第 3 行第 3 列替换为 @
的网格:
>>> size = 5
>>> c = '#'
>>> g = [size*[c] for i in range(size)]
>>> g[3][3] = '@'
>>> print('\n'.join(' '.join(row) for row in g))
# # # # #
# # # # #
# # # # #
# # # @ #
# # # # #
所以我正在尝试创建一个网格,可以用任何给定的符号替换它的单个 "grid squares"。网格工作正常,但它是由列表中的列表组成的。
这是代码
size = 49
feild = []
for i in range(size):
feild.append([])
for i in range(size):
feild[i].append("#")
feild[4][4] = "@" #This is one of the methods of replacing that I have tried
for i in range(size):
p_feild = str(feild)
p_feild2 = p_feild.replace("[", "")
p_feild3 = p_feild2.replace("]", "")
p_feild4 = p_feild3.replace(",", "")
p_feild5 = p_feild4.replace("'", "")
print(p_feild5)
如您所见,这是我尝试替换元素的一种方法,我也尝试过:
feild[4[4]] = "@"
和
feild[4] = "@"
第一个将左起所有“#”4个元素替换为“@” 第二个给出以下错误
TypeError: 'int' object is not subscriptable
可能您正在寻找这个 :-
size = 49
feild = []
for i in range(size):
feild.append([])
for i in range(size):
map(feild[i].append, ["#" for _ in xrange(size)])
i = 4
feild[i][0] = "@"
将 #
的第 3 行第 3 列替换为 @
的网格:
>>> size = 5
>>> c = '#'
>>> g = [size*[c] for i in range(size)]
>>> g[3][3] = '@'
>>> print('\n'.join(' '.join(row) for row in g))
# # # # #
# # # # #
# # # # #
# # # @ #
# # # # #