私はリストを与えられた効率的な方法を探しています、リストの別個の値としてキーを持つ辞書を出力するために、そしてその数である辞書の値リストのキーを押します。リストの数のPython辞書
a = [1,1,1,2,2,3,] ##input
b = {1: 3, 2: 2, 3: 1} ##output
私は{i: a.count(i) for i in a}
が正常に動作することを発見しましたが、それは、このような入力リストa=[1,1,1]
のように過度な計算を、行います
例えば、それはキーが上書きされます[1]の値を持ちます[3] 3回。
また、以下のようなマニュアルを作成することもできますが、もっとエレガントでシンプルなものを探しています。
b = {}
for i in a:
if i in b:
b[i] += 1
else:
b[a] = 1
あなたはセットであなたのリスト 'A'をラップすることができます。 'b = {i:set(a)}のiのためのa.count(i)'。必要なモジュールがありません –