問題タブ [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.

0 投票する
4 に答える
145 参照

python - リスト内に特定の数の要素を作成するためのPythonイディオム

多くの場合、Pythonを使用していると、次のようなリスト内包表記を記述していることに気付くでしょう。

明らかにそれは問題なく機能しますが、実際にその情報をまったく使用していないときに、範囲を作成してその全体でダミーインデックスを反復することには、まだ少し厄介な感じがします。

私はパフォーマンスなどについてはまったく心配していません。Pythonが通常行うほど素晴らしくエレガントな感じはしません。

リスト内包表記構文の不要な部分を回避するための、おそらくのようなmapものを使用しitertoolsて、より似たコードを提供するための、慣用的な方法があるかどうか疑問に思っています...

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

python - Python の itertools.repeat の目的は何ですか?

Python のクラスで考えられるすべての用途についてitertools.repeat()、同じ効果を達成するための、同等に (場合によってはそれ以上の) 受け入れ可能な別のソリューションを考えることができます。例えば:

itertools.repeat()最も適切な解決策になるケースはありますか? もしそうなら、どのような状況で?

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

python - itertools.products で iterable の部分に名前を付ける

私はitertools、非常に強力なモジュールのように思われる について読んでいます。私はitertools.product()、反復可能な入力のすべての組み合わせを私に与えるように見えるものに特に興味があります。

ただし、各出力がどの入力イテラブルから来ているのか知りたいです。たとえば、簡単な標準的な例は次のとおりです。

ユーザーが[1,2,3]、[1、2]の入力を提供した場合、それらがどの順序で入力されたかわからないため、次の結果が得られます

どちらに転ぶかわからないので、あまり役に立ちません。次のような入力を提供する方法はありますか?

そして、次のような出力を取得します。

また

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

python - Python IndexError:listを範囲外に使用して真理値表を作成する

itertoolsを使用してPythonで真理値表を作成しようとしていますが、同じエラーが発生し続けます

これまでの私のコードはここにあります

main()とw0 = gen_constants(int(sys.argv [1]))でエラーが発生します

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

python - itertools を使用して 2 つの 1 と 3 つのゼロの順列をすべて生成する

おそらく基本的なものですが、他の質問では見つかりませんでした。私は試した:

しかし、多くの重複があり、 itertools はすべてのゼロを理解しておらず、すべてのものが同じであるようです...

私は何が欠けていますか?

編集:

おっとっと。Gareth のおかげで、この質問は次の重複であることがわかりました: permutations with unique values。私の質問の言い回しはより明確だと思うので、それを閉じません。

0 投票する
4 に答える
700 参照

python - itertools を使用して配列にインデックスを付ける

これは、私が期待するものとは異なる答えを私に与えているコードのセクションです。行:print list(x)私が期待することを行います。行: は配列内のその要素の値を返すことを期待しprint random_array[list(x)]ますが、3 つの配列を返します。たとえばlist(x)返品の[9, 8, 7]場合random_array[9, :, :], random_array[8, :, :], random_array[7, :, :]は、印刷されます。誰かが私にこれがなぜなのか説明してもらえますか? そして、どうすれば期待される答えを得ることができますか?

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

python - Pythonのチャンクサイズシーケンスを持つハタ?

2つのレベルで反復したいジェネレーターがあります。最初のレベルは不均等な間隔で配置されているので、次のレベルを5つのグループにチャンクします。私はそれがメモリ効率が良く、ジェネレータ入力で動作する必要があるので、私は次のようなことをしています。もっと良い方法があるのではないかと思いますか?特に、不均一な長さの結果の末尾のNoneは必要ありません。

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

python - itertoolsダイスロール:ダブルスロールを2回

私はPythonライブラリを学ぼうとしてitertoolsいますが、サイコロを振るシミュレーションが良いテストになると思いました。ライブラリを使用して可能なすべてのロールを生成しproduct、その方法の数を数えるのは簡単です。collections私はモノポリーのようなゲームで発生する問題を解決しようとしています。ダブルスがロールされると、あなたは再びロールし、最終的な合計は2つのロールの合計になります。

以下は、問題を解決するための私の最初の試みです。2つのカウンター、1つはダブル用、もう1つはダブル以外用です。それらを組み合わせる良い方法があるのか​​、それとも2つのカウンターがそれを行う最良の方法であるのかはわかりません。

itertoolsとコレクションを使用して、doubleでサイコロを振る問題を(列挙によって)解決するための巧妙な方法を探しています。

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

python - 制約付きのPython順列

私はPython3を使用しており、いくつかの制約を適用しながら、リストのすべての順列を取得する方法を見つけようとしています。

たとえば、私はリストを持っていますL=[1, 2, 3, 4, 5, 6, 7]

すべての順列を見つけたい。ただし、私の制約は次のとおりです。

  • 1は常に2の前に来る必要があります。
  • 3は4の前に来る必要があり、4は5の前に来る必要があります。
  • 最後に、6は7の前に来る必要があります。

もちろん、すべての順列を生成し、これらの制約に従わない順列を無視することはできますが、これは効率的ではないと思います。

0 投票する
4 に答える
6881 参照

python - 英数字を繰り返し処理する方法

Python で一連の条件を反復処理する方法を知りたいです。

  1. 2 ~ 6 個の小文字の英字または数字を含む文字列
  2. 最初の文字は常に数字です

したがって、短い進行は次のようになります。

最初の 2 つを実行できる恐ろしい例は次のとおりです。

itertools を見つけましたが、良い例が見つかりません。