【问题标题】:Trouble setting a function parameter with dictionary使用字典设置函数参数时遇到问题
【发布时间】:2018-06-14 17:45:21
【问题描述】:

我正在使用一个名为 FellWalker 的函数来查找数据立方体中的团块。 http://pycupid.readthedocs.io/en/latest/pycupid.html 此处的文档说 config[“PARAMETER_NAME”] = PARAMETER_VALUE 是将其输入函数的方式(特别是我正在尝试使用配置参数 FellWalker.Noise)但是当我尝试运行该函数时

out_fw =fellwalker(cube, rms, velax = 2,config['FellWalker_Noise'] = 2 ) 

或它的任何变体('Noise'、'fellwalker_noise' 等)我收到一个语法错误,指出关键字不能是表达式。我是字典的新手,但我不明白我与文档所说的不同。

【问题讨论】:

    标签: python python-2.7 astronomy


    【解决方案1】:

    这根本不是有效的 Python 语法;如果您想将字典作为config 参数传递,您必须这样做:

    out_fw = fellwalker(cube, rms, velax=2, config={'FellWalker_Noise': 2})
    

    【讨论】:

      【解决方案2】:

      config 需要类型dict,因此您需要使用所有参数构建一个字典,然后传递该字典:

      config = {}  # Make a dict
      config['FellWalker_Noise'] = 2  # add whatever params you need
      out_fw = fellwalker(cube, rms, velax=2, config=config)  # pass the dict
      

      【讨论】:

      • 关键字参数不能在位置参数之前,所以这也是无效的语法。
      猜你喜欢
      • 2014-08-11
      • 2011-02-03
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 2011-10-15
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多