我想迭代一个列表,但我想只迭代第一个和第二个元素。对于边缘情况,如果列表只有一个或零个元素,它应该执行一次或零次迭代。
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'
答案 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'