代码之家  ›  专栏  ›  技术社区  ›  shahjapan

如何将字典转换为关键字参数字符串?

  •  1
  • shahjapan  · 技术社区  · 15 年前

    我们可以把字典转换成 kw 使用 **kw 但是如果我想要 千瓦 作为 str(kw) str(dict) , 因为我想要一个带有关键字参数的字符串作为代码生成器,

    如果我通过

    obj.method(name='name', test='test', relation = [('id','=',1)])
    

    我想要一个函数返回字符串

    "name='name', test='test', relation = [('id','=',1)]"
    
    1 回复  |  直到 15 年前
        1
  •  6
  •   Ignacio Vazquez-Abrams    15 年前

    相同的语法用于接受任意关键字参数。

    def somestring(**kwargs):
      return ', '.join('%s=%r' % x for x in kwargs.iteritems())
    

    注意,dict是任意顺序的,因此结果字符串的顺序可能与传递的参数的顺序不同。