考虑以下代码:
def my_fun(an_iterable):
for val in an_iterable:
do_work(val)
if some_cond(val):
do_some_other_work(an_iterable)
break
如果an_iterable是list/ tuple,do_some_other_work将再次获得整个列表。但如果an_iterable是 aiterator或 a generator,它将只接收列表中的其余项目。如何区分两种情况?我只想do_some_other_work收到其余的物品。