【发布时间】:2015-01-19 00:14:04
【问题描述】:
我有这个例如这个字符:
.....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的转置。如果您已经有一个横向工作的例程,那么您就已经准备好了。