問題タブ [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.
python - ドット表記文字列「abcde」を使用してネストされた辞書をチェックすると、欠落しているレベルが自動的に作成されます
次の辞書を考えます。
私はこの文字列を持っています (外部ソースからのもので、この比喩を変更することはできません)。
辞書に key がある 'c'
かどうかを判断する必要があるため、ない場合は追加できます。
これは、ドット表記の値を取得するためにスムーズに機能します。
has_key
しかし、チェックなどを「減らす」方法がわかりません。
私の究極の問題は次のとおりです。与えられた場合、辞書に必要なすべての要素"a.b.c.d.e"
を作成する必要がありますが、それらが既に存在する場合はそれらを踏みにじる必要はありません。
python - Pythonを使用してテキストドキュメントの最もまれな10語を印刷する
テキストドキュメントの最も頻度の高い10個の単語(各単語は2文字以上)を印刷する小さなPythonスクリプトがあり、ドキュメント内の最も頻度の低い10個の単語も印刷するようにスクリプトを続行する必要があります。私は比較的機能しているスクリプトを持っていますが、それが出力する最もまれな10の単語は、単語であるはずの数字(整数とフローター)です。単語のみを繰り返し、数字を除外するにはどうすればよいですか?これが私の完全なスクリプトです:
編集:ドキュメントの終わり(# Least Frequent Words
コメントの下の部分)は、修正が必要な部分です。
python - Pythonを使用してドキュメント内の2文字以上の単語の総数を取得する
.txtドキュメント内の上位10個の最も頻繁な単語、10個の最も頻度の低い単語、および単語の総数を計算する小さなPythonスクリプトがあります。割り当てによると、単語は2文字以上として定義されます。最も頻度の高い10個の単語と最も頻度の低い10個の単語が正常に印刷されますが、ドキュメント内の単語の総数を印刷しようとすると、1文字の単語(「a」など)を含むすべての単語の総数が印刷されます。 )。単語の総数を取得して、2文字以上の単語のみを計算するにはどうすればよいですか?
これが私のスクリプトです:
私はPythonの専門家ではありません。これは、現在受講しているPythonクラス用です。私のコードのすっきりと適切なフォーマットは、この割り当てでは私に不利になります。可能であれば、このコードのフォーマットが「グッドプラクティス」と見なされるかどうかを誰かに教えてもらえますか?
python - Pythonを使用してテキストファイル内のすべての単語を1回だけカウントする
クラスの宿題のために取り組んでいる小さなPythonスクリプトがあります。スクリプトはファイルを読み取り、最も頻度の高い10個の単語とその頻度を出力します。この割り当てでは、単語は2文字以上として定義されます。単語の頻度は問題なく機能していますが、割り当ての3番目の部分は、ドキュメント内の一意の単語の総数を印刷することです。一意の単語の意味は、ドキュメント内のすべての単語を1回だけカウントします。
現在のスクリプトをあまり変更せずに、ドキュメント内のすべての単語を1回だけカウントするにはどうすればよいですか?
ps私はPython2.6を使用しているので、collections.Counterの使用については言及しないでください。
python - Python のコレクション モジュールの defaultdict は、setdefault を使用するよりも本当に高速ですか?
私は、他の Python プログラマーがコレクション モジュールの defaultdict を次のユース ケースで使用しているのを見てきました。
私は通常、代わりに setdefault を使用してこの問題に取り組みました。
実際、ドキュメントはdefaultdict を使用する方が速いと主張していますが、自分自身をテストすると、反対のことが真であることがわかりました。
テストの設定方法に何か問題がありますか?
参考までに、私は Python 2.7.3 [GCC 4.2.1 (Apple Inc. build 5666)] を使用しています。
python - Python:辞書を使用して周波数の行番号を追加し、アルファベット順に並べ替えるにはどうすればよいですか
sys.stdin を介して各単語の頻度の量を取得する必要があるプロジェクトがあります。
その部品を入手しました。2番目の部分は、各単語の行番号を取得しています。それを取得したと感じていますが、出力文字列に行番号を追加することはできません。単語の頻度が同じ場合、アルファベット順に並べ替える方法もわかりません
これが私のコードです:
「Python は本当にクールです」と入力した場合 #1 行目「私は本当に Python で作業しています」 #2 行目
出力は次のようになります。
python - Python:同じリストの出現数を見つけて平均化する
例を使用して問題を説明します。
これらのリストのリストから、3番目のリストを作成したいと思います。
だから私は得る:
C
の中に 3つのリストがあることに注意してください。これらの[1, 2, 10], [1, 2, 10], [1, 2, 30]
リストは、[x、y、z]で説明すると、x、yは同じですが、zが異なります。
だから私はこの新しいリストが欲しいです:
ここで、リストから同じx、yのオカレンスが1つだけ見つかります
[1, 2, 30], [1, 2, 40], [1, 2, 50]
および対応するz値の平均(10+10+30)/3=16.666
for
最初にループを使用しようとしましたが、最終的にはを使用してこれを実行しようとしましdefaultdict
た。
私はこれで、(x、y)を一度保持しますが、対応するz値を加算して平均化しないことになりました。
defaultdictでこれを行うことは可能ですか?何か案は?
python - collections.defaultdict() の min() は最大数を返します
defaultdict オブジェクトで使用min()
すると、文字列のインデックスを数える dict で使用すると、奇妙なことに最大値が返されます。
例えば:
mongodb - MongoDB/PyMongo は $set 属性をドキュメントに設定しませんが、他のすべての属性を設定します! (奇妙なエラー)
MongoDB のドキュメントに defaultdict 変数を書き込もうとしています。他のすべては正常に設定されますが、この 1 つの属性だけでなく、その奇妙なものです! 以前に何度も機能した「ドメイン」と呼ばれるかなり大きな defaultdict を設定しています。この端末出力を確認してください。
だからここに私のdefaultdictがあります:
そのかなり大きい、約 3 MB:
設定するドキュメントは次のとおりです。
そのドキュメントの ID を取得しましょう。
よし、属性を設定しましょう:
え?貯まらない??
うーん...何かが保存されますか?
わかりました...それで問題なく保存できます...おそらくMongoDBがdefaultdictsを好まないからでしょうか? やってみよう:
したがって、defaultdictsをうまく保存できますが、これだけではありませんか??
とても奇妙!なぜ何かアイデアはありますか??
safe=True で編集:
この GoogleGroup のディスカッションでは、キーにピリオドが含まれていることが原因である可能性があると述べていますが、次のようになります。
python - 特定の python defaultdict へのアクセス
値を持つ defaultdict があるとします。
最初のインデックスが c の要素のみにアクセスするにはどうすればよいですか
というか、次のようなものをどのように実装しますか。