📜  Python – Itertools.dropwhile()(1)

📅  最后修改于: 2023-12-03 15:34:06.561000             🧑  作者: Mango

Python – Itertools.dropwhile()

itertools.dropwhile() 是 Python 内置库 itertools 中的一个函数,它返回一个迭代对象,只包含原始可迭代对象中所有使得某一个谓词函数不成立的元素。其函数签名如下:

itertools.dropwhile(predicate, iterable)

其中 predicate 是一个谓词函数, iterable 是一个可迭代对象。该函数返回一个迭代器,新迭代器中是原迭代器跳过谓词函数成立之前的所有元素后返回的元素。

以下是使用 itertools.dropwhile() 函数的示例:

from itertools import dropwhile

# 定义一个谓词函数,返回数字是否小于等于 5
def predicate(n):
    return n <= 5

# 定义测试列表
test_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]

# 使用dropwhile过滤test_list中符合predicate谓词函数的元素
output = dropwhile(predicate, test_list)

# 输出过滤后的结果
for val in output:
    print(val)

运行该程序,输出结果如下:

6
7
8
9

在以上示例中,谓词函数 predicate 返回数字是否小于等于 5。使用 dropwhile() 函数将原始列表中的所有在谓词函数成立之前的元素都跳过,输出剩余的元素。

总体来说, itertools.dropwhile() 函数可以用于过滤包含元素的可迭代对象,只返回符合谓词函数要求的元素。