python - 有没有一种优雅的方法可以在 python 中同时解包和索引关键字参数?
问题描述
我有一个方法,它接受一些基本参数(arg_1
& arg_2
)以及一些n
元素列表,然后在嵌套方法调用中使用这些参数,每个列表元素一次,如下所示:
def method_one(self, a=arg_1, b=arg_2, list_1, list_2):
for i in range(n):
method_two(a=arg_1, b=arg_2, c=list_1[i], d=list_2[i])
method_two
每个类都是唯一的,但method_one
存在于所有子类中,每个子类都采用相同的基本参数(arg_1
& arg_2
)和不同数量的列表参数(始终为 length n
)。
有没有一种方法可以在父类中kwargs
编写一个适用于所有孩子的单曲?method_one
就像是:
def method_one(self, a=arg_1, b=arg_2, **kwargs):
for i in range(n):
method_two(a=arg_1, b=arg_2, **kwargs[i])
以这样一种方式**kwargs[i]
解包 . 中所有列表参数的键和关联值的第 i 个元素kwargs
。
解决方案
如果我理解正确,您可以将字典理解传递给**
解包method_two
:
def method_one(self, arg_1, arg_2, **kwargs):
for i in range(n):
method_two(
arg_1, arg_2,
**{name: value[i] for name, value in kwargs.items()}
)
推荐阅读
- reactjs - svg 在示例中未显示在画布上,请做出反应
- reactjs - ReactJS 项目中 ES6 扩展运算符的问题
- hive - Oozie Launcher 失败,无法运行程序
- abap - 仅使用 TABLES 声明进行内连接
- python - ModuleNotFoundError:没有名为“snowpenguin”的模块
- arrays - 在对象名称中使用连字符遍历嵌套数组
- mongodb - 如何在mongodb中“排序”和“限制”结果?
- android - 为什么android应用程序动态创建的“动态链接”不直接打开应用程序?
- javascript - Dialogflow 复合实体参数在不应该定义时未定义
- python-3.x - 如何获得 Max Salhike 月,但如果 max Salhike 两个月相同,则给出较小的月份