qqhtml.py 文件源码

python
阅读 26 收藏 0 点赞 0 评论 0

项目:qqmbr 作者: ischurov 项目源码 文件源码
def split_by_predicate(seq: Sequence[T],
                       predicate,
                       zero_delim: Optional[T]=None) \
        -> Iterator[Sequence[T]]:
    """
    Splits a sequence by delimeters that satisfy predicate,
    keeping the delimeters

    split_by_predicate([0, "One", 1, 2, 3,
                    "Two", 4, 5, 6, 7, "Three", "Four"],
                    predicate=lambda x: isinstance(x, str),
                    zero_delim="Nothing")

    [["Nothing", 0], ["One", 1, 2, 3], ["Two", 4, 5, 6, 7],
    ["Three"], ["Four"]]

    :param seq: sequence to proceed
    :param predicate: checks whether element is delimeter
    :param zero_delim: pseudo-delimter prepended to the sequence
    :return: sequence of sequences
    """
    g = [zero_delim]
    for el in seq:
        if predicate(el):
            yield g
            g = []
        g.append(el)
    yield g
# END BASED
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号