ネストされた辞書のフラット化:キーを圧縮する
ネストされた辞書をフラット化するには、各キーと値のペアを繰り返し反復的に繰り返し、親のキーを使用して親のキーを合わせて、新しいキーを作成する必要があります。
ネストされた辞書のより深いレベルは、同じプロセスを使用してさらに再帰が必要です。 def flatten(dictionary、parent_key = ''、separator = '_'): アイテム= [] キーの場合、dictionary.items()の値: new_key = parent_keyセパレーターキーparent_key他のキー ISInstance(Value、MutableMapping)の場合: items.extend(flatten(value、new_key、separator = separator).items())) それ以外: items.append((new_key、value)) return dict(items)
例の使用:
>>> flatten({'a':1、 'c':{'a':2、 'b':{'x':5、 'y':10}}、 'd':[1、2、3]})) {'a':1、 'c_a':2、 'c_b_x':5、 'd':[1、2、3]、 'c_b_y':10}
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3