[解決済み] 「Forループの1回目の繰り返し
2023-05-21 15:15:22
質問
ループの最初の反復で関数を実行するエレガントな方法があるかどうか知りたいです。 私が思いつく唯一の可能性は、次のとおりです。
first = True
for member in something.get():
if first:
root.copy(member)
first = False
else:
somewhereElse.copy(member)
foo(member)
どのように解決するのですか?
にはいくつかの選択肢があります。 ヘッド-テール のデザインパターンがあります。
seq= something.get()
root.copy( seq[0] )
foo( seq[0] )
for member in seq[1:]:
somewhereElse.copy(member)
foo( member )
またはこれ
seq_iter= iter( something.get() )
head = seq_iter.next()
root.copy( head )
foo( head )
for member in seq_iter:
somewhereElse.copy( member )
foo( member )
人々は、quot;redundant foo(member)" コードがあるため、これはどういうわけか "DRY" ではないと泣き言を言います。 それは馬鹿げた主張です。 もしそれが本当なら、すべての関数は一度しか使われないことになります。 もし1回しか参照できないのであれば、関数を定義する意味は何でしょうか?
関連
-
[解決済み] argparseによるブーリアン値のパース
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] 複数の例外を1行でキャッチする(ブロックを除く)
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] 配列の反復処理に "for...in "を使用するのは、なぜ良くないのでしょうか?
-
[解決済み] Pythonでシングルトンを作成する
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み] Pythonの要素別タプル演算(sumなど
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] PythonでSVGからPNGに変換する
-
[解決済み] Djangoで2つの日付の間を選択する
-
[解決済み] Pythonのインスタンス変数とクラス変数
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] subprocess.run()の出力を抑制またはキャプチャするには?
-
[解決済み] PySparkでデータフレームのカラムをString型からDouble型に変更する方法は?