問題タブ [defaultdict]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
19652 参照

python - キーを defaultdict の default_factory に渡す賢い方法はありますか?

クラスには、1 つのパラメーターを取るコンストラクターがあります。

コードのどこかで、dict の値がキーを知っていると便利です。
新生児のデフォルト値に渡されるキーで defaultdict を使用したい:

助言がありますか?

0 投票する
5 に答える
701 参照

python - 寛容な辞書

寛容な辞書 (KeyError が発生した場合にデフォルト値を返すもの) を作成する方法を考えています。

次のコード例では、KeyError を取得します。例えば

取得しないためには、1. 例外をキャッチするか、get を使用する必要があります。

私は自分の辞書でそれをする必要がないようにしたい...

0 投票する
6 に答える
4400 参照

python - 無限にネストされたdefaultdictの標準クラスはありますか?

Pythonに無限にネスト可能な辞書の標準クラスがあるかどうか誰かが知っていますか?

私は自分自身がこのパターンを繰り返していることに気づいています:

「別のレイヤー」(例d['abc']['def']['xyz']['wrt'])を追加する場合は、defaultdictsの別のネストを定義する必要があります。

__getitem__このパターンを一般化するために、次のネストされた辞書を自動的に作成するためにオーバーライドする単純なクラスを作成しました。

例えば

しかし、このアイデアの既存の実装を知っている人はいますか?グーグルを試しましたが、これが何と呼ばれるかわかりません。

0 投票する
11 に答える
77949 参照

python - `dictのキーの場合`と`try/except`-どちらがより読みやすいイディオムですか?

イディオムと読みやすさについて質問がありますが、この特定のケースではPythonの哲学が衝突しているようです。

辞書Bから辞書Aを作成したい。Bに特定のキーが存在しない場合は、何もせずに続行します。

どちらが良いですか?

また

「許しをし、求めなさい」対「単純さと明白さ」。

どちらが良いのか、そしてその理由は?

0 投票する
16 に答える
608637 参照

python - collections.defaultdict はどのように機能しますか?

Python docs の例を読みましたが、このメソッドが何を意味するのかまだわかりません。誰か助けてくれませんか?python docs からの2つの例を次に示します

パラメータintlistは何のためですか?

0 投票する
2 に答える
666 参照

python - リストのdictのdictを定義して埋める方法

次のタイプの辞書に記入する必要があります。

これは次の方法で実行できます。

より効果的な方法はありますか?何かのようなもの:

defaultdict完璧ですが、最初の引数として呼び出し可能オブジェクトが必要なため、残念ながら機能しません

0 投票する
1 に答える
1585 参照

python - collections.dequeがcollections.defaultdictよりも遅いのはなぜですか?

使い方次第だと思いますので、一般的な質問は許してください。でも、私の場合は、値の存在を確認したいときcollections.dequeよりもかなり遅かったです。collections.defaultdict

小さな単語セットに対してユーザーの入力を検証するために、PeterNorvigのスペル修正を使用しました。単語頻度のある辞書は使い物にならなかったので、最初はシンプルなものを使いましたlistが、1つの単語の検索に約25秒かかることに気づいたらすぐにdefaultdict置き換えました。deque

驚いたことに、それは使用するよりも速くなかったlistので、私は使用defaultdictに戻り、ほぼ瞬時に結果が返されました。

誰かがこのパフォーマンスの違いを私に説明できますか?

前もって感謝します


PS:私が話していたことを再現したい場合は、ノーヴィグのスクリプトの次の行を変更してください。

0 投票する
1 に答える
4069 参照

python - python collections.defaultdict() コンパイル エラー

次のコードは、単純明快ですが、コンパイルするとエラーが発生します。

生成されるエラーは次のとおりです。

何か案が?前もって感謝します

0 投票する
3 に答える
4729 参照

python - collections.defaultdict でキーを使用する

collections.defaultdict素晴らしいです。特に次の場合lambda:

指定されたキー (例: 'foo') をラムダで使用する方法はありますか? 例(機能しません):

0 投票する
5 に答える
74747 参照

python - Python の defaultdict とラムダ

他の誰かのコードでは、次の 2 行を読みました。

defaultdict の引数はデフォルトのファクトリであるため、最初の行は、存在しないキー k (v=x[k] のようなステートメントなど) に対して x[k] を呼び出すと、キーと値のペア (k ,0) は、ステートメント x[k]=0 が最初に実行されたかのように、辞書に自動的に追加されます。私は正しいですか?

そしてyはどうですか?デフォルトのファクトリは、デフォルト 0 の defaultdict を作成するようですが、具体的にはどういう意味ですか? Pythonシェルで遊んでみましたが、それが何であるかを正確に理解できませんでした。