如何循环浏览字符串列表并以表格形式打印

2024-09-29 03:26:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我在练习python我这里有一个问题,我有一个三个团队的列表,teams = ['manu','spurs','roma']通过索引0循环,我能够打印结果

teams = ['manu','spurs','roma'] for m in teams[0]: print(m,'\t')

“但是我能像这样把所有的队伍都打印成表格吗 see image

帮帮


Tags: in列表for团队表格printromateams
3条回答

你可以试着这样做。使用try/except块逐字母打印for循环。打印完索引“x”中的所有字母后,使用print(end='\n')创建新行。(你可以写print()而不写end='\n',但这不太容易理解

teams = ['manu','spurs','roma']
for x in range(len(max(teams, key=len))):
    for m in teams:
        try:
            print(m[x], end='\t')
        except IndexError:
            print("", end='\t')
    print(end='\n')

K.Oleksy的响应非常好,但是使用异常来捕捉字符串的结尾。我将向您展示如何避免这种情况,因为这并不是特例

teams = ['nusqdgqsdgsq','spjurs','romaaa']

max_lenght = len(max(teams, key = len))
print(max_lenght)
for i in range(max_lenght):
    for team_index in range(len(teams)):
        if (i < len(teams[team_index])):
            print(teams[team_index][i], end = '\t')
        else:
            print('  ', end = '')
    print()

你的数据是固定的吗?因为如果没有,也许你已经知道如何获取你拥有的数据并将其放入循环中。无论如何,这可能会对你有所帮助

teams = ['manu','spurs','roma']
for m,s,r in zip(teams[0],teams[1],teams[2]):
    print(m,s,r,'\t')

更新-

我一直觉得我以前见过这个。。。所以幸运的是我找到了它,如果你想的话,你可以这样做。感谢this

from itertools import zip_longest

teams = ['manu','spurs','roma']
text=' '.join(teams)

for x in zip_longest(*text.split(), fillvalue=' '):
    print ('\t'.join(x))

相关问题 更多 >