打印2并排列出

时间:2018-01-01 23:04:16

标签: python

我试图使用列表理解并排输出2个列表的值。我在下面有一个例子,展示了我想要完成的事情。这可能吗?

代码:

#example lists, the real lists will either have less or more values
a = ['a', 'b', 'c,']
b = ['1', '0', '0']

str = ('``` \n'
       'results: \n\n'
       'options   votes \n'
       #this line is the part I need help with: list comprehension for the 2 lists to output the values as shown below
       '```')

print(str)

#what I want it to look like:
'''
results:

options  votes
a        1
b        0
c        0
''' 

3 个答案:

答案 0 :(得分:3)

您可以使用zip()功能将列表连接在一起。

a = ['a', 'b', 'c']
b = ['1', '0', '0']
res = "\n".join("{} {}".format(x, y) for x, y in zip(a, b))

zip()函数将使用每个列表中的相应元素迭代元组,然后您可以按照Michael Butscher在评论中建议的格式进行格式化。

最后,只需将join()与换行符放在一起,就可以获得所需的字符串。

print(res)
a 1
b 0
c 0

答案 1 :(得分:2)

这有效:

a = ['a', 'b', 'c']
b = ['1', '0', '0']

print("options  votes")

for i in range(len(a)):
    print(a[i] + '\t ' + b[i])

输出:

options  votes
a        1
b        0
c        0

答案 2 :(得分:0)

from __future__ import print_function  # if using Python 2

a = ['a', 'b', 'c']
b = ['1', '0', '0']

print("""results:

options\tvotes""")

for x, y in zip(a, b):
    print(x, y, sep='\t\t')