[解決済み] リストをチャンクで反復処理する最も "pythonic "な方法は何ですか?
2022-03-17 14:45:14
質問
整数のリストを入力とするPythonスクリプトがあるのですが、一度に4つの整数を処理する必要があります。 残念ながら、私は入力を制御することができません、または私はそれが4つの要素のタプルのリストとして渡されるでしょう。 現在、私はこの方法で反復処理をしている。
for i in range(0, len(ints), 4):
# dummy op for example code
foo += ints[i] * ints[i + 1] + ints[i + 2] * ints[i + 3]
しかし、これは "C-think" のように見えるので、この状況を扱うより Pythonic な方法があるのではと思います。 リストはイテレート後に破棄されるので、保存する必要はありません。 おそらくこのようなものが良いのではないでしょうか?
while ints:
foo += ints[0] * ints[1] + ints[2] * ints[3]
ints[0:4] = []
でも、まだ、quot;feel"はしっくりきませんね。
関連する質問 Pythonでリストを均等な大きさのチャンクに分割するにはどうしたらいいですか?
どのように解決するのですか?
を修正したものです。
レシピ
セクションは、Python の
itertools
のドキュメントを参照してください。
from itertools import zip_longest
def grouper(iterable, n, fillvalue=None):
args = [iter(iterable)] * n
return zip_longest(*args, fillvalue=fillvalue)
例
grouper('ABCDEFG', 3, 'x') # --> 'ABC' 'DEF' 'Gxx'
注
Python 2 では
izip_longest
の代わりに
zip_longest
.
関連
-
PythonはWordの読み書きの変更操作を実装している
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 辞書を繰り返し使用するには?
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] リストの要素数を取得する方法
-
[解決済み】__str__と__repr__の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
pythonを使ったオフィス自動化コード例
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み】リストを2つずつループする方法は?重複