主角:takewhile

  判断序列中元素是否为偶数,奇数则终止

这是我们最常用的一种方式,其实没必要这么复杂

 1 a = [4, 6, 7, 3]
 2 
 3 
 4 def judge_is_even(item):
 5     if item % 2 == 0:
 6         return True
 7     return False
 8 
 9 
10 # 最常用
11 for item in a:
12     if not judge_is_even(item):
13         break
14     print(item)

优化后:

 1 from itertools import takewhile
 2 
 3 a = [4, 6, 7, 3]
 4 
 5 
 6 def judge_is_even(item):
 7     if item % 2 == 0:
 8         return True
 9     return False
10 
11 
12 for item in takewhile(judge_is_even, a):
13     print(item)

其原理为:遍历第二个可迭代对象,当前值调用第一个入参,并对返回的结果进行真值测试,True继续,False终止

发表回复