我举个例子,有这些字符:
.....U......
L...L.######
.S....#.....
....L.......
我将其存储在一个列表中
chars = ['.....U......', 'L...L.######', '.S....#.....', '....L.......']
我用这个将其存储在字符中:
for x in range(0, N):
g = input()
chars.append(g)
现在的问题是我想把字母L之间的所有点都变成#,但要垂直地排列,就像这样:
.....U......
L...L.######
.S..#.#.....
....L.......
我已经尝试了几个小时,但是想不出任何东西。非常感谢您的帮助。
编辑: 我使用这个将它们水平连接起来。而且它有效。
while y != N:
modchars0 = list(chars[y])
if modchars0.count('L') == 0:
y += 1
else:
for k in range(0, M):
if 'L' in modchars0[k]:
start = k + 1
break
for l in range(M-1, 0, -1):
if 'L' in modchars0[l]:
end = l
break
for h in range(start, end):
if 'L' in modchars0[h]:
pass
else:
modchars0[h] = '#'
modchars1 = modchars1.join(modchars0)
chars[y] = modchars1
y += 1
zip(*chars)
将chars
转置。如果你已经有一个水平方向上工作的程序,你就做好了。 - U2EF1