我有一个dicts列表,可以是0到100个元素长.我想只查看前三个元素,如果列表中的元素少于三个,我不想抛出错误.我如何在python中干净利落地做到这一点?
伪代码:
for element in my_list (max of 3):
do_stuff(element)
Run Code Online (Sandbox Code Playgroud)
编辑:此代码有效但感觉非常不洁净.我觉得python有更好的方法来做到这一点:
counter = 0
while counter < 3:
if counter >= len(my_list):
break
do_stuff(my_list[counter])
counter += 1
Run Code Online (Sandbox Code Playgroud)
你可以使用itertools.islice:
for element in itertools.islice(my_list, 0, 3):
do_stuff(element)
Run Code Online (Sandbox Code Playgroud)
当然,如果它实际上是一个列表,那么你可以使用常规切片:
for element in my_list[:3]:
do_stuff(element)
Run Code Online (Sandbox Code Playgroud)
正常序列上的常规切片是"宽容的",因为如果你要求的元素多于那里,则不会引发任何异常.