Pythonitertools.dropwhile
示例
itertools.dropwhile使您可以在条件首次变为时从序列中取出项目False。
def is_even(x):
return x % 2 == 0
lst = [0, 2, 4, 12, 18, 13, 14, 22, 23, 44]
result = list(itertools.dropwhile(is_even, lst))
print(result)这输出[13,14,22,23,44]。
(此示例与的示例相同,takewhile但使用dropwhile。)
请注意,违反谓词的第一个数字(即:返回布尔值的函数)is_even是13。之前的所有元素都将被丢弃。
在产生的输出通过dropwhile类似于从下面的代码所产生的输出。
def dropwhile(predicate, iterable):
iterable = iter(iterable)
for x in iterable:
if not predicate(x):
yield x
break
for x in iterable:
yield x由takewhile并dropwhile产生原始可迭代结果的串联。
result=list(itertools.takewhile(is_even,lst))+list(itertools.dropwhile(is_even,lst))
热门推荐
10 感谢韩语老师祝福语简短
11 升职文案高级祝福语简短
12 花童结婚祝福语大全简短
13 向国庆送祝福语简短
14 什么寄语简短祝福语女生
15 客户回礼祝福语大全简短
16 女孩生日祝福语简短创意
17 家长回复节日祝福语简短
18 给外婆敬酒祝福语简短