![](/img/trans.png)
[英]Elegant way to unpack limited dict values into local variables in Python
[英]Is there an elegant way to simultaneously unpack and index key word arguments in python?
我有一個方法,它采用一些基本的 arguments ( arg_1
和arg_2
)以及一些n
元素列表,然后在嵌套方法調用中使用這些 arguments ,每個列表元素一次,如下所示:
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
對於每個 class 都是唯一的,但是method_one
存在於所有子類中,每個子類都采用相同的基本 arguments( arg_1
和arg_2
)和不同數量的列表 ZDBC11CAA5BDA99F77E6FB4nDZ88(總是n
)2。
有沒有辦法可以使用kwargs
在父method_one
中編寫一個適用於所有孩子的單個 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]
解包密鑰,以及kwargs
中所有列表 arguments 的關聯值的第 i 個元素。
如果我理解正確,您可以將字典理解傳遞給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()}
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.