首页 > 解决方案 > 如何从集合中提取、修改单个元素并提供给函数?

问题描述

如何从集合/列表中提取元素并立即提供给 shutil.ignore_patterns?

虚拟代码:

import shutil

patterns = set(
    [
        "A",
        "B",
        "C"
    ]
)
def exclusion_policy():
    return shutil.ignore_patterns('*' + x + '*' for x in (*patterns))

另一种选择是 - 这有效:

def exclusion_policy():
    return shutil.ignore_patterns('*A*', '*B*', '*C*')

标签: pythonpython-3.xcollectionsshutil

解决方案


做就是了:

import shutil

patterns = set(["A", "B", "C"])


def exclusion_policy():
    return shutil.ignore_patterns(*('*' + x + '*' for x in patterns))

*序列/集合解包为位置参数,在这种情况下,序列是('*' + x + '*' for x in patterns).


推荐阅读