Python-在单独的行的两个列表中的输出元素

时间:2018-09-26 22:57:25

标签: python python-3.x

我试图弄清楚如何在两个单独的行上打印两个列表中的每个元素:

第一章测试[大空间] 84%

但相反,它会像这样打印整个列表:

[“第一章测试”,“第二章测试”,“第三章测试”] [84%, 75%,90%]

有人知道如何解决此问题吗?

3 个答案:

答案 0 :(得分:1)

您可以尝试:

   for test, grade in zip(testSet, calculatedMarks):
       print("{}    {}".format(test, grade))

您的示例将在单个print调用中打印整个列表。

这将遍历列表(使用zip从每个列表中创建对),并将每对打印在自己的行上。

就像在道格的答案中一样,您可以使用列表推导和str.join函数,而不是带有主体的for循环,以在单个行/打印语句中获得它。

答案 1 :(得分:1)

给出:

conda update qt

您可以zip一起列出两个列表:

>>> li1=['Chapter One Test', 'Chapter Two Test', 'Chapter Three Test']
>>> li2=['84%', '75%', '90%']

如果要创建表格,则可以使字段宽度固定,而不用>>> print('\n'.join(['{}\t{}'.format(*t) for t in zip(li1,li2)])) Chapter One Test 84% Chapter Two Test 75% Chapter Three Test 90% 分隔:

\t

详细了解格式mini-language,以了解有关这些选项的更多信息。

答案 2 :(得分:0)

使用您当前的方法,您可以通过逐个打印index或使用index列表之一中的enumerated进行循环来进行细微调整,因为它们具有相等的长度并已进行排序以匹配,我也要说一下l.justr.just来实现很好的格式化

print ("{}                     {}".format(testSet[0], calculatedMarks[0]))
print ("{}                     {}".format(testSet[1], calculatedMarks[1]))
print ("{}                     {}".format(testSet[2], calculatedMarks[2]))

for idx, item in enumerate(testSet):
    print("{}                      {}".format(testSet[idx], calculatedMarks[idx]))