関数の引数をトラバースしようとしているネストされた辞書があります。私の推測では、関数を介して辞書をトラバースするには、別の関数を定義する必要がありますget_info
。どうすればこれを達成できますか?私はどんな助けにも感謝します。
system_dict = {"system01": {"item": "329517", "model": "P6000"},
"system02": {"item": "329270", "model": "P7000"},
"system03": {"item": "350510", "model": "P7000"},
"system04": {"item": "351487", "model": "P6000"},
"system05": {"item": "351565", "model": "P7000"},
}
def get_info(SYSTEM, ITEM, MODEL):
print(SYSTEM, ITEM, MODEL)
引数と辞書キーに同じ名前を使用できる場合は、次のように実行できます。
sd = {
"sys1": {"item": 11, "model": 12},
"sys2": {"item": 22, "model": 22},
}
def get_info(system, item, model):
print(system, item, model)
for system, item_model in sd.items():
get_info(system, **item_model)
この出力:
('sys1', 11, 12)
('sys2', 22, 22)
ただし、キーが変更されたり、一部のエントリの構造が異なる場合は、これはお勧めできません。したがって、必要な値を明示的に抽出する方がよいでしょう。例えば
for system, value in sd.items():
item = value["item"]
model = value["model"]
get_info(system, item, model)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加