簡體   English   中英

有沒有一種優雅的方法可以同時在 python 中解壓縮和索引關鍵字 arguments?

[英]Is there an elegant way to simultaneously unpack and index key word arguments in python?

我有一個方法,它采用一些基本的 arguments ( arg_1arg_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_1arg_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM