リスト内のさまざまな項目の数を辞書に取り込みたいが、カウントが特定の数を超えている場合のみ。例えばカウントがしきい値を超えたときの辞書の理解の中のPythonカウント要素
(これは、Python 2.7である):私は2回以上表示される数字をしたい場合は
x = [2,3,4,2,3,5,6]
、私だけ d = {2: 2, 3: 2}
出力としてをしたいと思います。
私は、例えば
{(num if x.count(num) >= 2): x.count(num) for num in x}
、辞書理解でこれをやってみたかった。しかし、これは「無効な構文」エラーをスローし、そして私はいくつかの重要なIドンを意味し、いくつかのデフォルトのキーを設定する必要がありそうです私はそれから削除する必要がある辞書に追加されたくない。
私が今やっていることは2行である:
d = {(num if x.count(num) >= 2 else None): x.count(num) for num in x}
d.pop(None, None)
しかし、一つでそれを行うために、あるいは実際のための任意のデフォルトのキーを追加することなく、if文で辞書理解を行うための方法がありますelseステートメント?