仅迭代第一个和第二个列表python

时间:2017-12-19 04:47:10

标签: python

我想迭代一个列表,但我想只迭代第一个和第二个元素。对于边缘情况,如果列表只有一个或零个元素,它应该执行一次或零次迭代。

for element in a_list:
    print(element)

用例

  • a_list = [] -> ''
  • a_list = ['a'] -> 'a'
  • a_list = ['a', 'b'] -> 'ab'
  • a_list = ['a', 'b', 'c'] -> 'ab'
  • a_list = ['a', 'b', 'c', 'd'] -> 'ab'

4 个答案:

答案 0 :(得分:3)

for element in a_list[:2]:
    print(element)

答案 1 :(得分:1)

如果要输出2个元素,请使用: -

for element in a_list[:2]:
    print(element) 

如果你想输出2个元素,就像在问题中解释的那样使用: -

"".join(a_list[:2])

答案 2 :(得分:0)

使用Python 3 print()函数可以避免显式迭代并在一个语句中获取输出:

>>> a_list = ['a', 'b', 'c', 'd']
>>> print(*a_list[:2], sep='')
ab
>>> a_list.pop()
>>> print(*a_list[:2], sep='')
ab
>>> a_list.pop()
>>> print(*a_list[:2], sep='')
ab
>>> a_list.pop()
>>> print(*a_list[:2], sep='')
a
>>> a_list.pop()
>>> print(*a_list[:2], sep='')

此切片a_list,解压缩切片的元素,并使用空字符串作为分隔符打印它们。

您可以在Python 2中使用相同的功能,方法是将其添加到脚本的顶部:

from __future__ import print_function

答案 3 :(得分:0)

你可以创建一个产生前两个元素的函数。

def yield_two(iterable):
    it = iter(iterable)
    yield next(it)
    yield next(it)

使用方法:

for e in yield_two('abcde'):
    print(e) # 'a', 'b'