0

キーをリスト名として、値をリスト要素として、defaultdict を独立したリストに分割するにはどうすればよいですか。

例えば:

defaultdict ([('A', [1, 3, 4]), ('B', [3, 6, 8])])

入手方法:

A= [1,3,4]
B= [3,6,8]
4

1 に答える 1

1

申し訳ありませんが、一般的にはできませんし、しようとすべきではありません。

これの明らかな理由の1つは、dictキーが有効なPython名であることを強制する必要があることです(文字列以外のキーを処理することは言うまでもなく、文字列も機能しません)。

もう1つの理由は、キー有効な名前であっても、この名前を持つ他のオブジェクトを予期せず上書きする可能性があることです。これは、組み込み関数などである可能性があり、スクリプトをあらゆる方法で破壊する可能性があります。

確信が持てない場合は、次のような方法を試すことができます。

In [1]: d = {'A': [1, 3, 4], 'B': [3, 6, 8]} # a defaultdict would work, too

In [2]: for k, v in d.items():
   ...:     globals()[k] = v
   ...:     

In [3]: A
Out[3]: [1, 3, 4]

In [4]: B
Out[4]: [3, 6, 8]

読むドキュメント:

于 2013-02-15T20:06:40.070 に答える