Pythonitertools.takewhile
示例
itertools.takewhile使您可以从序列中取出项目,直到条件首次变为False。
def is_even(x):
return x % 2 == 0
lst = [0, 2, 4, 12, 18, 13, 14, 22, 23, 44]
result = list(itertools.takewhile(is_even, lst))
print(result)这输出[0,2,4,12,18]。
请注意,违反谓词的第一个数字(即:返回布尔值的函数)is_even是13。一旦takewhile遇到False为给定谓词产生的值,它就会爆发。
在产生的输出通过takewhile类似于从下面的代码所产生的输出。
def takewhile(predicate, iterable):
for x in iterable:
if predicate(x):
yield x
else:
break注意:由产生的结果的串联takewhile和dropwhile产生原始可迭代的结果。
result=list(itertools.takewhile(is_even,lst))+list(itertools.dropwhile(is_even,lst))
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法