如果412肯定会在名单上,你可以用这个:
even = [n for n in numbers[:numbers.index(412)] if not n % 2]
如果要在结果中包含412,请使用 numbers[:numbers.index(412)+1] 为了切片。
numbers[:numbers.index(412)+1]
注意,由于切片的原因,这将比itertools或for循环解决方案效率低(至少在内存方面)。