Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在自定义函数参数中将列表的值设置为布尔值_Python_Python 3.x - Fatal编程技术网

Python 在自定义函数参数中将列表的值设置为布尔值

Python 在自定义函数参数中将列表的值设置为布尔值,python,python-3.x,Python,Python 3.x,我有一个给定的列表和一个带有一些参数的自定义函数。该列表包含字符串形式的参数,如果该列表包含的else在函数中保持为false,我希望将这些参数更改为True 下面是一个例子: list_params = ['remove_digits','remove_stopwords','clean_data'] custom_function(remove_digits =False, clean_data =False, remove_stopwords = False, text_lemmatiz

我有一个给定的列表和一个带有一些参数的自定义函数。该列表包含字符串形式的参数,如果该列表包含的else在函数中保持为false,我希望将这些参数更改为True

下面是一个例子:

list_params = ['remove_digits','remove_stopwords','clean_data']

custom_function(remove_digits =False, clean_data =False, remove_stopwords = False, text_lemmatization =False)

在这里,所有参数首先为false,但一旦列表包含这些参数,在函数else中选择它们为True将保持false。如果列表中有参数,我希望所有参数都立即为True。

最好是更改自定义函数的签名以接收参数列表。如果您不能更改它,您仍然可以这样调用您的函数:

custom_function(remove_digits in list_params, clean_data in list_params, remove_stopwords in list_params, text_lemmatization in list_params)
否则,如果您拥有该函数所需的参数列表,例如可以使用的列表参数=['remove_digits'、'clean_data'、'remove_stopwords'、'text_lemmatization'],则可以编写args=[x in list_params for x in params],并将自定义_函数作为自定义_函数*args调用:


最好是更改自定义函数的签名以接收参数列表。如果您不能更改它,您仍然可以这样调用您的函数:

custom_function(remove_digits in list_params, clean_data in list_params, remove_stopwords in list_params, text_lemmatization in list_params)
否则,如果您拥有该函数所需的参数列表,例如可以使用的列表参数=['remove_digits'、'clean_data'、'remove_stopwords'、'text_lemmatization'],则可以编写args=[x in list_params for x in params],并将自定义_函数作为自定义_函数*args调用:


假设您的函数定义类似于:

def custom_function(remove_digits=False, clean_data=False, remove_stopwords=False, text_lemmatization=False):
因此,您希望打开列表中的参数。可以通过将列表转换为和来执行此操作:

列表参数=['remove_digits'、'remove_stopwords'、'clean_data'] dict_params={param:True表示列表_params}中的param 自定义函数**dict参数
假设您的函数定义类似于:

def custom_function(remove_digits=False, clean_data=False, remove_stopwords=False, text_lemmatization=False):
因此,您希望打开列表中的参数。可以通过将列表转换为和来执行此操作:

列表参数=['remove_digits'、'remove_stopwords'、'clean_data'] dict_params={param:True表示列表_params}中的param 自定义函数**dict参数
这会使函数中的参数为真/假吗?如果我不知道列表中的参数是什么?l中的x确实返回一个布尔值,如果x是列表l的元素,则返回true,否则返回false。如果您不知道所需的参数,当您有函数所需的参数列表时,您仍然可以使用类似于和*的内容,例如list params=['remove_digits'、'clean_data'、'remove_stopwords'、'text_lemmatization'],您可以将args=[x in list_params for x in params],并将自定义函数调用为自定义函数*arg我认为这会起作用,请您将其添加到主答案中,以便我可以接受它…谢谢这会使函数中的参数为真/假吗?如果我不知道列表中的参数是什么?l中的x确实返回布尔值,如果x是列表l的元素,则为真,否则为假。如果如果您不知道所需的参数,您仍然可以使用类似的方法并使用*当您拥有函数所需的参数列表时,例如list params=['remove_digits'、'clean_data'、'remove_stopwords'、'text_lemmatization'],您可以编写args=[x in list_params for x in params],并将自定义函数调用为自定义函数*arg我认为这会起作用,请您将此添加到主答案中,以便我可以接受它…谢谢这些参数在函数中默认为False吗?是的,默认为False这些参数在函数中默认为False吗?是的,默认为False您可以解释**在函数中的操作吗ion?我添加了一些链接,这些链接对它的解释超出了我的能力。但是最基本的方法是,如果你有kwargs={'x':1,'y':2}然后做foo**kwargs解压那个dict,它相当于做foox=1,y=2,你能解释**在函数中做什么吗?我添加了一些链接,这些链接对它的解释比我能解释的更多。但最基本的方式是,如果你有kwargs={'x':1,'y':2},那么做foo**kwargs解压那个dict,它相当于做foox=1,y=2