Python 如何修改此代码以用于多个列表?

Python 如何修改此代码以用于多个列表?,python,python-3.x,Python,Python 3.x,我有一段代码,可以将两个列表转换为垂直列并打印它们: team1 = ['Vàlentine', 'Consus', 'Never Casual ', 'NucIear', 'Daltwon'] team2 = ['The Aviator', 'Iley', 'Nisquick', 'Dragoon', 'WAACK'] for t1, t2 in zip(team1, team2): print('%-20s %s' % (t1, t2)) 如何调整此代码以添加第三个列表,例如te

我有一段代码,可以将两个列表转换为垂直列并打印它们:

team1 = ['Vàlentine', 'Consus', 'Never Casual ', 'NucIear', 'Daltwon']
team2 = ['The Aviator', 'Iley', 'Nisquick', 'Dragoon', 'WAACK']

for t1, t2 in zip(team1, team2):
    print('%-20s %s' % (t1, t2))
如何调整此代码以添加第三个列表,例如
team3=['…']

输出:

Vàlentine            The Aviator       <team3 here>
Consus               Iley
Never Casual         Nisquick
NucIear              Dragoon
Daltwon              WAACK
似乎不起作用。

像这样

team1 = ['Vàlentine', 'Consus', 'Never Casual ', 'NucIear', 'Daltwon']
team2 = ['The Aviator', 'Iley', 'Nisquick', 'Dragoon', 'WAACK']
team3 = ['Ronaldo', 'Messi', 'Zidane', 'Me', 'Raul']
for t1, t2, t3 in zip(team1, team2, team3):
    print('%-20s %-20s %s' % (t1, t2, t3))
像这样

team1 = ['Vàlentine', 'Consus', 'Never Casual ', 'NucIear', 'Daltwon']
team2 = ['The Aviator', 'Iley', 'Nisquick', 'Dragoon', 'WAACK']
team3 = ['Ronaldo', 'Messi', 'Zidane', 'Me', 'Raul']
for t1, t2, t3 in zip(team1, team2, team3):
    print('%-20s %-20s %s' % (t1, t2, t3))
或者尝试一条单行线:

print('\n'.join(map('%-20s %-20s %s'.__mod__, zip(team1, team2, team3))))
此外,与@SUNGJIN的答案不同,它们都经过一次处理和打印,因此您可以轻松地将其保存到变量中:

mystring = '\n'.join(map('%-20s %-20s %s'.__mod__, zip(team1, team2, team3)))
或者尝试一条单行线:

print('\n'.join(map('%-20s %-20s %s'.__mod__, zip(team1, team2, team3))))
此外,与@SUNGJIN的答案不同,它们都经过一次处理和打印,因此您可以轻松地将其保存到变量中:

mystring = '\n'.join(map('%-20s %-20s %s'.__mod__, zip(team1, team2, team3)))
既然你在标题中说的是“多个”而不是“三个”,那么让我们来概括一下

为了概括代码,我们希望从列表开始:

columns = [
    ['Vàlentine', 'Consus', 'Never Casual ', 'NucIear', 'Daltwon'] # team 1
    ['The Aviator', 'Iley', 'Nisquick', 'Dragoon', 'WAACK'] # team 2
]
为了从每个包含的“列”列表中获得由一个元素组成的“行”,我们仍然使用
zip
,但是我们需要向它传递任意数量的参数;然后,由于我们试图对列中有多少个元素进行概括,所以我们不能将其分解为单独的变量。因此:

for row in zip(*columns):
然后我们需要一个格式化操作,可以处理一行中的任意多个元素。我们可以通过将每个元素格式化为其自己的20宽字符串(建议使用),并将它们全部传递到
*
操作符
打印
。最简单的方法是使用a,因此:

print(*(f'{name:既然您在主题标题中说的是“multiple”而不是“three”,那么让我们来全面了解一下

为了概括代码,我们希望从列表开始:

columns = [
    ['Vàlentine', 'Consus', 'Never Casual ', 'NucIear', 'Daltwon'] # team 1
    ['The Aviator', 'Iley', 'Nisquick', 'Dragoon', 'WAACK'] # team 2
]
要从每个包含的“列”列表中获取由一个元素组成的“行”,我们仍然使用
zip
,但我们需要向它传递任意数量的参数;然后,由于我们试图对列中的元素数量进行概括,我们无法将其解压为单独的变量。因此:

for row in zip(*columns):
然后,我们需要一个格式化操作,该操作可以处理一行中的任意多个元素。我们可以通过将每个元素格式化为其自己的20宽字符串(建议使用),并将它们全部传递到
*
操作符-to
print
。最简单的方法是使用


print(*(f'{name:是否可以将打印输出保存到变量?Yup.txt或excel?我希望将其保存为字符串变量,但我想如果我可以将其从.txt文件中提取为字符串也可以。只需额外步骤。是否可以将打印输出保存到变量?Yup.txt或excel?我希望将其保存为字符串变量,但我想如果我可以将其从.txt文件中提取为字符串也可以。只需额外步骤。在收到答案后不要更改您的问题。我正在回滚您所做的更改。如果您有其他问题,请询问其他问题。在收到答案后不要更改您的问题。我正在回滚back你所做的改变。如果你有其他问题,问另一个问题。