2016-12-15 1 views
0

python/programmingの新機能であり、dictの構成に取り組んでいます。 (python 3)dictの中にget()があります。

作成しているdictのdict構成の中でgetメソッドを使うことはできますか?

e.g. d = {key: d.get(key,0) + 1 for key in some_list} 

例を達成するためのより良い方法を提供すること自由に感じ、しかし、あなたが作成している辞書でgetを使用して有効/可能であるならば、私は理解する上でとても興味があります。

+0

dictが最初に作成され、次にdという名前に割り当てられるため、これは不可能です。だから、作成過程(すなわち、dict-comprehension)において、 'd'はまだ存在せず、あなたはNameErrorを得るでしょう(' d'と呼ばれる別の変数を過去) – inspectorG4dget

+0

@ inspectorG4dget舞台裏で起こっていることに関する追加情報をありがとう:) –

答えて

0

いいえ、できません。 collections.Counter - この種の問題を渡すため

import collections 

counts = collections.Counter(some_list) 
0

Pythonは捧げているクラス:あなたはカウントの辞書をしたい場合は、collections.Counter dictのサブクラスを使用します。

import collections 
seq = ['a', 'b', 'b', 'c'] 
d = collections.Counter(seq) # Counter({'b': 2, 'a': 1, 'c': 1}) 
関連する問題