我有三个文本字符串,每个字符串都有不同的长度,并存储在一个列表中,例如['food', 'entertainment', 'auto']
。
现在,我需要在控制台上垂直显示它们,比如:
f e a
o n u
o t t
d e o
r
t
a
i
n
m
e
n
t
我打算这样做:
result = ''
category_names = ['food', 'entertainment', 'auto']
longest_category_name = len(max(category_names, key=len))
for l in range(longest_category_name):
result += f"{category_names[0][l]}{category_names[1][l]}{category_names[2][l]}n"
然而,我遇到了明显的IndexError: string index out of range
错误,但我的问题是,所以我怎么能做到这一点,让python忽略那些不存在的字符?
p。我想过写一行if,但我试了一下,没有成功。
使用itertools.zip_longest
:
>>> print('n'.join(' '.join(l) for l in zip_longest(*category_names, fillvalue=' ')))
f e a
o n u
o t t
d e o
r
t
a
i
n
m
e
n
t