有没有办法在Python中打印字符串,以获得字符列?明智吗?
可能如下[[o n],[* o]] 输入在数组或列表中以矩阵形式的单词系列给出
上 *Ø 输出应该在列中如下所示
答案 0 :(得分:1)
你可以这样做:
from itertools import zip_longest
strings = ['First,', 'long second,', 'and third!']
lines = zip_longest(*strings, fillvalue=' ')
for line in lines:
print(''.join(line))
Fla
ion
rnd
sg
t t
,sh
ei
cr
od
n!
d
,
zip_longest
允许您对每个字符串进行迭代,将fillvalue
空格添加到最短字符串。
list(lines)
将是`[('F','l','a'),('i','o','n'),...]
然后我们可以通过连接每个元组中的字母来打印每一行。
您可以在列之间添加空格:
for line in lines:
print(' '.join(line))
F l a
i o n
r n d
s g
t t
, s h
e i
c r
o d
n !
d
,
如果您不想打印*
,只需将其替换为空格:
from itertools import zip_longest
strings = ['ant', '*oi', '**p']
lines = zip_longest(*strings, fillvalue=' ')
for line in lines:
print(''.join(line).replace('*',' '))
# a
# n o
# t i p
答案 1 :(得分:-2)
当然,只需妥善安排你的指数:
li = [["a","b"],["c","d"]]
for i in range(len(li[0])):
for j in range(len(li)):
print(li[j][i],end='')
print()
我不确定你的*
在该列表中做了什么。从输出看起来你认为它是列表中的一个空位?