Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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 - Fatal编程技术网

Python 如何向这个稍微复杂的方法调用添加参数?

Python 如何向这个稍微复杂的方法调用添加参数?,python,Python,我有一段代码如下所示: rv.append(get_quest_guide_char("lindsey", **{"marker": ["items cake_slice","items bottle pepelepsi","items apple"] for x in [1] * (game.location == lindsey.location)})) 实际上,它的工作原理是 如果game.location不等于lindsey.location,则结果调用如下所示,只传递一个参数,即l

我有一段代码如下所示:

rv.append(get_quest_guide_char("lindsey", **{"marker":  ["items cake_slice","items bottle pepelepsi","items apple"] for x in [1] * (game.location == lindsey.location)}))
实际上,它的工作原理是

如果game.location不等于lindsey.location,则结果调用如下所示,只传递一个参数,即lindsey参数

rv.append(get_quest_guide_char("lindsey"))
然而,如果它是真的,那么第二个参数被添加如下

rv.append(get_quest_guide_char("lindsey", marker = ["items cake_slice","items bottle pepelepsi","items apple"]))
如果结果为真,如何插入要添加的第三个条件?我试过的代码看起来像这样,但不起作用

rv.append(get_quest_guide_char("lindsey", **{"marker_sector": "right_bottom", "marker":  ["items cake_slice","items bottle pepelepsi","items apple"] for x in [1] * (game.location == lindsey.location)}))

其中第三个参数是marker_sector=“right_bottom”

如果我理解您的意图,请尝试以下方法:

rv.append(get_quest_guide_char("lindsey", marker_sector="right_bottom", **{"marker":  ["items cake_slice","items bottle pepelepsi","items apple"] for x in [1] * (game.location == lindsey.location)}))
它将在没有条件的情况下添加另一个kwarg,并简化代码

但是,我建议您重构这段代码,可能在append之外的变量上定义参数


if game.location == lindsey.location:
    marker = ["items cake_slice", "items bottle pepelepsi", "items apple"]
else:
    marker = None

rv.append(get_quest_guide_char("lindsey", marker_sector="right_bottom", marker=marker))