問題タブ [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 - Python: itertools.islice がループで機能しない
次のようなコードがあります。
line_str は最初のパスでは正しいですが、その後のすべてのパスは別の行を読み取る必要があります。
たとえば、goto_line は 1000 から始まります。1000 行目までは問題なく読み取れます。次に、次のループ goto_line は 500 ですが、500 行目は読み取れません。1000 に近い行が読み取られます。
必要以上に読み取らずに、大きなファイルの特定の行を読み取ろうとしています。ある行に後方にジャンプすることもあれば、前方にジャンプすることもあります。
私は linecache を試しましたが、通常、このコードを同じファイルに対して複数回実行することはありません。
python - Pythonでのargmaxの実装
Pythonでargmaxをどのように実装する必要がありますか?可能な限り効率的である必要があるため、反復可能で機能する必要があります。
それを実装できる3つの方法:
- ペアの反復可能が与えられると、最大値に対応するキーを返します
- 反復可能な値が与えられると、最大値のインデックスを返します
- 反復可能なキーと関数が与えられた場合
f
、最大のキーを返しますf(key)
python - Python groupby から日付を入力
月ごとにアーカイブされたニュース記事オブジェクトのコレクションを表示したいと考えています。itertools.groupby
このような方法で並べられた Python オブジェクトのリストを作成するために使用しました。
したがって、次のようなコレクションになります。
一番古い記事と今日の日付の間の各月のエントリが含まれるように、news_grouped コレクションを埋めたいと思います。空のリストには空のリストがあります。
最も古い日付から最新の日付まで反復してコレクションを埋めることでこれを行うことができることはわかっていますが、それについての何かが私にはうまくいきませんし、あまり効率的でもないと思います。
これを解決するよりエレガントな方法はありますか?誰でも私を指摘できますか?
(私は実際に Django を使用しており、regroup を使用していましたが、テンプレートの外側で Python でこれを解決したほうがよいようです - もちろん間違っている可能性があります)
どうもありがとう。
ルード。
python - itertools.chain は iter リストを連鎖しますか?
これは、組み合わせを印刷するために機能します。
でもこれは:
印刷されません。
要求どおりに機能するようにコードを書き直す必要があります。
これが私の質問です:
それらの違いは何ですか?ドキュメントによると
、次のことをitertools.chain
行います。
では、なぜitertools.chain(iter, iter, iter)
ここでも機能するのでしょうか。
ということiter, iter, iter = *(iter, iter, iter)
ですか?
python-3.x - itertools.cycle()。next()?
さて、私はPython 2.6.6でメソッドを使用していましたが、3.2に更新したので、オブジェクトにメソッドがないitertools.cycle().next()
ことに気付きました。itertools.cycle()
next()
クラスのspin()
メソッドで文字列を循環させるために使用しました。Spinner
したがって、タプルを循環させると、次のように出力され('|', '/', '-', '\\', '|', '/', '-')
ます: 、、、、、、、、、、など...|
/
-
\
|
/
-
|
/
Python 3.0、3.1、3.2のリリースノートを検索しましたが、これに変更はありませんでした。これが変わったのはいつですか?以前と同じ機能を実現するための簡単な代替手段はありますか?
前もって感謝します。
python - Itertools と Python でバイナリ テーブルを生成する
だからこれは私がしようとしているものです
しかし、これは [('0', '0'), ('0', '1'), ('1', '1')] を生成しています
私はまだ ('1','0') タプルが必要です。
python - itertools の izip_longest: 何が起こっているのでしょうか?
以下のコードがどのように機能するかを理解するのに苦労しています。これはhttp://docs.python.org/library/itertools.html#itertools.izip_longestからのもので、izip_longest イテレータに相当する純粋な Python です。私は特にセンチネル機能に戸惑っています。どのように機能しますか?
python - itertools.permutations( "0123456789")の結果(Python)を文字列のリストに変換する方法
Pythonでは、を使用してlist(itertools.permutations("0123456789"))
おり、(予想どおり)単一の文字列のタプルのリストを受け取っています。
3628800のすべてのアイテムを反復処理せずに、その結果を文字列のリストに変換する方法はありますか?
python - SQLAlchemy の M2M で単純な next() メソッドを実行するにはどうすればよいですか?
グループと個人の多対多の 2 つのモデルがあります。
group.individuals にアクセスして、関連する個人のリストを取得できます。最後に使用された個人を追跡するために、グループ モデルに「last_individual_id」列があります。この情報を使用して、グループの次の個人を取得する方法をさまよっていました。
個人のIDを取得してitertools.cycleを使用することを考えましたが、開始点を指定できません。さらに、SQLAlchemyで適切に実行できる場合、それは遅い方法かもしれません。
これを達成する方法について何か考えはありますか?答えが簡単すぎて恥ずかしくなりそうですが…今日はカフェイン抜きでした!
ありがとう
python - python:アイテムを繰り返さずにイテラブルの積を作る方法は?
itertools.product と同じように機能する関数が必要ですが、項目を繰り返さないでください。
例えば:
何か案は?
編集:私の言い回しは正しくありませんでした。連続する出力値で同じ数値を繰り返さないことを意味しました。
例えば、
ここでは、出力に 1,4 が 2 回表示されます。なので、前の項目と同じ数字の場合は省略したいと思います。したがって、私が望む出力は次のとおりです。
None の場合は、結果の前の項目と同じであることがわかります。
さらに編集:
私の説明はまだはっきりしていませんでした。本、章番号、ページ番号のリストがあるとします。各本には同じ数の章があり、各章には同じ数のページがあると仮定します。したがって、リストは (book1, book2, book3), (chap1, chap2), (page1, page2, page3) です。
ここで、各ページの説明を収集したいとします:
itertools.product は以下を提供します:
これらのページを連続して配置した場合、説明を繰り返す必要はありません。したがって、本と章が同じ場合、2 ページ目には本と章の名前は必要ありません。出力は次のようになります。