在Python列表中,如何在一行上打印第一个和第二个元素,在下一行打印第三个和第四个元素,依此类推?

时间:2017-12-14 04:37:43

标签: python

我正在生成一个字符串并将其附加到列表中。我正在循环该动作以列出40个元素。我想像这样打印出来:

这是我的清单

list = [ 'first', 'second', 'third', ... 'fortieth' ]

我试过这个

for z in list:
if z % 2 == 0:
    print(list[z], list[z+1])

以及许多其他变体。我希望它像这样打印

first second
third fourth
fifth sixth
...
thirty-ninth fortieth

我该怎么做? 谢谢你的时间

4 个答案:

答案 0 :(得分:4)

在列表上打印2个值就像创建一个跳过其他每个值的for循环一样简单。创建for循环时,可以使用range(start,stop,interval)来完成此操作。然后你可以使用for循环

填写两个print语句

我希望这对你有用:

for x in range(0,len(listtest),2):
    print (listtest[x], listtest[x+1])

testlist替换为您的列表名称

答案 1 :(得分:1)

首先,您不应该使用list作为变量名,因为它已经是内置函数。

其次,您可以通过切换[::2]和每个带有[1::2]偶数索引项来获取每个奇数索引项,如下所示:

>>> my_list = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth']
>>> print(my_list[::2])
['first', 'third', 'fifth']
>>> print(my_list[1::2])
['second', 'fourth', 'sixth']

然后你可以将zip()列表放在一起并打印出来:

my_list = ['first', 'second', 'third', 'fourth', 'fifth', 'sixth']

for x, y in zip(my_list[::2], my_list[1::2]):
    print(x, y)

哪个输出:

first second
third fourth
fifth sixth

答案 2 :(得分:0)

这非常简单。你写了一个for循环。浏览清单。对于每个奇数 - 如果行号mod 2 == 1;然后,打印换行符。打印( “\ n” 个)

除非您没有告诉我们,否则列表中有一些特殊内容。

答案 3 :(得分:0)

你必须编写一个循环并迭代列表。 由于你有40个元素,这很容易

i=0
while(i<40):
    print(list[i]," ",list[i+1])
    i=i+2