用a=';str';格式化python

用a=';str';格式化python,python,Python,我想创建一个函数,当我想调用它时,它的参数可以是无限的,并且有一个指定的类型,比如''a='test1',b='test2'',等等。然后我拆分'='并使用'a'和'testi'。下面的代码没有用 def检查(*arg): c=[] 对于arg中的i: 如果i中没有“=”: c、 附加(i) 支票(saeed='1234567',ab='afj$L12') 它说: TypeError: check() got an unexpected keyword argument 'saeed' 也许

我想创建一个函数,当我想调用它时,它的参数可以是无限的,并且有一个指定的类型,比如''a='test1',b='test2'',等等。然后我拆分'='并使用'a'和'testi'。下面的代码没有用

def检查(*arg):
c=[]
对于arg中的i:
如果i中没有“=”:
c、 附加(i)
支票(saeed='1234567',ab='afj$L12')
它说:

TypeError: check() got an unexpected keyword argument 'saeed'

也许这就是你要找的

def check(**kwargs):
    c=[]
    for i in kwargs.values():
        if not '=' in  i:
             c.append(i)
您可以将其替换为一个衬里:

def check(**kwargs):
    return [i for i in kwargs.values() if not '=' in  i]

您正在寻找dict解包。只需将
*args
替换为
**kwargs
您的代码有几个语法错误。请修复空白问题。请注意,我需要在这里使用exp的参数名称以及它与**kwargs一起使用的'saeed'和'ab'tnx