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宽字符串(建议使用),并将它们全部传递到*
操作符-toprint
。最简单的方法是使用
print(*(f'{name:是否可以将打印输出保存到变量?Yup.txt或excel?我希望将其保存为字符串变量,但我想如果我可以将其从.txt文件中提取为字符串也可以。只需额外步骤。是否可以将打印输出保存到变量?Yup.txt或excel?我希望将其保存为字符串变量,但我想如果我可以将其从.txt文件中提取为字符串也可以。只需额外步骤。在收到答案后不要更改您的问题。我正在回滚您所做的更改。如果您有其他问题,请询问其他问题。在收到答案后不要更改您的问题。我正在回滚back你所做的改变。如果你有其他问题,问另一个问题。