問題タブ [itertools]
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 - 順列を使用して、入力から可能なすべての単語を見つけるにはどうすればよいですか?
私はプログラミングクラスのプロジェクトを行っています。ここに私が取り組んでいる5つのことがあります。ご協力いただきありがとうございます!
- 有効な単語のリストは、words.txt で提供されます。
- 2 ~ 8 文字の組み合わせのみを受け入れる入力を求める
- 元。入力は「ポロ」です
- words.txt 内から、この入力の有効な単語をすべて検索します。
考えられる結果、「うんち」「プール」「ループ」「ポロ」
/li>
python - itertoolsとストライドリストの割り当て
たとえば、リストが与えられた場合、他のすべての要素x = [True]*20
に割り当てたいと思います。False
上げるTypeError: must assign iterable to extended slice
だから私はあなたがこのようなことをすることができると素朴に仮定しました:
また
しかし、私が知る限り、これは無限ループになります。なぜ無限ループがあるのですか?割り当て前にスライス内の要素の数を知ることを含まない代替アプローチはありますか?
編集:私はそれx[::2] = [False] * len(x)/2
がこの場合に機能することを理解しています、またはあなたはより一般的な場合の右側の乗数の式を思い付くことができます。itertoolsが無期限に循環する原因と、リストの割り当てがnumpy配列の割り当てとは異なる動作をする理由を理解しようとしています。私が誤解しているPythonには何か基本的なことがあるに違いないと思います。また、もともと、リスト内包表記や別のn要素リストの作成よりもitertoolsを好むパフォーマンス上の理由があるのではないかと考えていました。
python - Pythonを使用して2つのジェネレータ出力を結合/マージする方法
私は2つのジェネレータg1とg2を持っています
[
a, a, a] [b, b, b]
[c, c, c]
[1, 1, 1]
[2, 2, 2]
[3, 3, 3]
[
a、a、a] [b、b、b]
[c、c、c]
[ 1、1、1] [2、2、2
] [3、3、3
]
どのように
[ a, a, a]
,[1, 1, 1]
[b, b, b],[2, 2, 2]
[c, c, c],[3, 3, 3]
または
[a, a, a, 1, 1, 1]
[b, b, b, 2, 2, 2]
[c, c, c, 3, 3, 3]
ご協力ありがとうございました。
python - Python itertools.combinations の結果
タイトルのその関数から取得する必要がある結果の数が得られないので、助けていただければ幸いです。
ドキュメント http://docs.python.org/library/itertools.html#itertools.combinationsを見ると、 結果の数は
返されたアイテムの数は n! /r!/ (nr)! 0 <= r <= n の場合、または r > n の場合はゼロ。
そして、それはそこの例で機能します
組み合わせ('ABCD', 2) --> AB AC AD BC BD CD
ンだから!/r!/ (nr)! = 4! / 2! / 2! = 6
でもやってみたら
これらの 15 の結果が得られます。しかしん!/r!/ (nr)! = 6! / 3!/ (6-3)! = 720 / 6 / 6 = 20
つまり、Python Docs には 20 個の結果が必要であると書かれていましたが、結果は 15 個になりました。
私が欠けているものを理解するのを手伝ってもらえますか? ウィキペディアの組み合わせエントリにあるように、その式は正しいはずなので、私の数学の何かかもしれません
ありがとう、P.
python - itertools.productでMemoryErrorが発生するのはなぜですか?
次のスニペットは、2つの入力反復可能変数のデカルト積からペアを生成する反復子を提供することを期待します。
代わりに、を取得しMemoryError
ます。itertools.product
しかし、それは中間結果をメモリに保存しなかったと思ったので、何が原因MemoryError
ですか?
python - Python には、ジェネレーター/シーケンスをインターリーブするための組み込み関数がありますか?
他のいくつかの反復可能なオブジェクトからの要素を(それらを圧縮するのではなく)インターリーブできる関数がないことに気付きましたitertools
(私には思えます):
(編集) 私が尋ねる理由は、不必要な zip/flatten の発生を避けたいからです。
明らかに、 の定義leaf
は単純ですが、同じことを行う事前定義された関数がある場合は、それを使用するか、非常に明確なジェネレーター式を使用することをお勧めします。そのような関数は、itertools、または他のよく知られているライブラリ、または適切な慣用表現に組み込まれていますか?
編集 2: さらに簡潔な定義が可能です (functional
パッケージを使用):
python - Python:itertoolsを使用して、テキストファイルからリスト内の前、現在、および次のアイテムを取得します
この回答(以下に表示)に概説されているようにコードを設定しました:
out2.txt
このように見えます:
このコードは、のようなものを使用する場合は正常に機能しlist = [0,2,4,6,8,10]
ますが、テキストファイルの行をリストに使用する場合は機能しません。テキストファイルの行をリストとして使用するにはどうすればよいですか。これをしていませんx.readlines()
か?最終的には、結果に応じて出力を印刷できる必要がありitem, next, and previous
ます。
現在の出力は次のとおりです。
必要な出力は次のとおりです。
python - 時間間隔によるメッセージのグループ化
現在、1秒間隔で送信されるメッセージをグループ化しようとしています。私は現在、これを使用して時間遅延を計算しています:
ただし、送信される1秒あたりの「Tin:[A]」メッセージの数を計算したいので、これを使用してこれを実行しようとしています。
これはここで見つけることができます:Python:時間間隔によるグループ結果
(私はユニットが私が望むもののためにオフになることを理解しています、しかし私はただ一般的な考えを調べています...)
私はこれまでほとんど成功していませんでした。助けていただければ幸いです。
また、データは次のように表示されます。
python - whileループを使用することがベストプラクティスになる場合、pythonにケースはありますか?
私はいくつかのPythonベンチマークを行っていますが、 orrepeat(None)
よりもはるかに高速であることを発見しました:while True
while 1
このような while ループの使用法は、実際に while ループを使用した最後のものでした。私が見落としているwhileを使用する理由は残っていますか?