for i in rangeのiは何をイミしますか?
インデックス番号のiですか?
それとも、
イテレータのiですか?
インデックス番号のiですか?
それとも、
イテレータのiですか?
index の i とされていますが、特に何かのインデックスではなくても慣習的に for i in ...
と書くことがあります。元を辿れば古いプログラミング言語の Fortran や、さらにその元の数学記法で変数の添字に i が使われていたことに由来します。参考 https://qiita.com/yaju/items/38f63900491d4ac51af7
@IllIllIll
Questioner
ありがとうございます。
次句はin
であったり、色んな理由を表付けるのがi
だったんですね。
イテレータのi
ではありません。
単に変数なので、i
でもj
でも、好きな名称が使えます
言語的には、target_list
といって、in
の右側のiterable object
の値を受け取る変数という感じです。
@IllIllIll
Questioner
ありがとうございます。
そうなのですが、通例としてよくi
が用いられますよね
i
の次の句がin
だから、とか。。
ビルゲイツが創業したMicrosoft社が最初に開発したBasic言語で、整数型の変数がi
,j
,k
だったことに起因していると、どこかで見た覚えがあります。
Pythonに限らず、Cや他の言語でも、for文でiを使うことが多いです。
Basic言語より古いFortran言語がi
,j
,k
を使っているので、その流れですね。
i は'index'(添え字) の頭文字ですね。
j, k, ... は、i の次のアルファベットだからですね。
数学の変数 x で、それ以降に y, x ... と続くのと同じ理由だと思います。
@IllIllIll
Questioner
重ね重ねありがとうございました
聞く前にググって調べましょう。
「python for i in range」などをキーワードにググると、微に入り細に入りの説明が書いてある記事が多々ヒットするので、それを読めばここのような Q&A サイトの限られたスペースでの回答を読むよりはるかによくわかるはずです。まずは自分で調べて、どうしてもわからないことを質問することをお勧めします。
@IllIllIll
Questioner
いいえ、訊いてもわからないことを自分でどうにかすればいいのです。
そしてこの質問は、すさびですので人を介して初めて意義を持ちます。
人に聞く前に自分で調べるという質問者が最低限やるべきことをあなたはしないと言ってますか? for i in range の i が何かはちょっとググって調べればすぐに分かることです。もし分からないと言うなら、ごく基本的な知識が不足しているということです。なので、説明を受けても理解できないと思いますよ。実際、他の回答者の方の回答に対するあなたのレス「iの次の句がinだから」を見ると分かっているとは思えませんけど?
i という文字を使う由来は何かということなら:
ループの変数名で好んでi,j,...が使われる理由はなんですか
https://ja.stackoverflow.com/questions/12895/%E3%83%AB%E3%83%BC%E3%83%97%E3%81%AE%E5%A4%89%E6%95%B0%E5%90%8D%E3%81%A7%E5%A5%BD%E3%82%93%E3%81%A7i-j-%E3%81%8C%E4%BD%BF%E3%82%8F%E3%82%8C%E3%82%8B%E7%90%86%E7%94%B1%E3%81%AF%E3%81%AA%E3%82%93%E3%81%A7%E3%81%99%E3%81%8B
これもググれば出てきます。
@IllIllIll
Questioner
会話は有志が参加するものです。
次元を落として説明すると、「単に知ること」が僕の趣旨でなく「会話を通じて知ること」なんです。
他の回答者さんからの文献をみても、断定した方はいらっしゃいませんよね。なので、回答者さんの回答やi
の次句がin
であることもその要因の一つなんですかねーという緩い会話です。
そして、なにゆえ僕が調べる前に質問したと断じたのかわかりません。調べたサイトを全て記した上で質問するべきでしたか?
そうですね、誤解を避けたいのであれば参考にしたURLを記載したほうがいいでしょうね。
次元を落として説明すると、「単に知ること」が僕の趣旨でなく「会話を通じて知ること」なんです。
Qiita に限らず一般的に Q&A サイトは「技術者同士の情報交換や相互サポート」とか「価値のあるコンテンツを残す」などの目的を持っていると思います。
参加する人は質問者と回答者だけではありません。後で検索などで訪れる人もいると思います。実際、問題に遭遇してググって調べてヒットした記事が役に立ったという経験は誰しもあるはず。
なので「緩い会話」は不適切だと思いますよ。自分の意見を言わせてもらえるなら、それはノイズみたいなもので上に述べた目的と逆行します。
調べたサイトを全て記した上で質問するべきでしたか?
ホントに調べてたなら 2, 3 は書けますよね。それを書いた上で、そのサイトでは具体的に〇〇〇が分からなかったと書いた方が、ここを読む閲覧者・回答者の皆さんに話が通じやすいと思いませんか?
そうですね、その方が誤解が減ると思います。
@IllIllIll
Questioner
回答に幅を持たせるために敢えての不記載です。
indexですか?それともiteratorですか?の質問だけでも、Yes/No以外に補足してくださる方がいらっしゃいます。
ネットに書いてないけど人間が知っていることなどゴマンとあるわけで。その人が本で得た知識や、彼の思考を引き出すことができればそれは立派なQ&Aなのではないでしょうか。僕はそういうところに、会話の価値を置いています。
「緩い会話」としたのはfor i
in が厳格な文法でないからです。 ここが分かってここが分からない という話ではないのです。
そして、「価値のあるコンテンツを残す」のでなくそれこそ「検索者が求めているコンテンツを自分で探せ」ばいい話なので、やはり適切な使い方だったと思います。
回答に幅を持たせるために敢えての不記載です。
それは不適切ですね。あなたとの「緩い会話」のために、回答者・閲覧者にとっては余計な時間と労力を費やすことになるかもという考えには思い至りませんか? 自分さえよければ良いと思っていますか?
「価値のあるコンテンツを残す」のでなくそれこそ「検索者が求めているコンテンツを自分で探せ」ばいい話なので、
それは「技術者同士の情報交換や相互サポート」とか「価値のあるコンテンツを残す」とかは考えず、自分のやりたいようにやるという返事と受け取ります。なのであなたは「自分さえよければ良いと思ってる人」と判断します。
@IllIllIll
Questioner
RAMありますか?同じことを二度書くイミはないのでもうよしますが、、
込み入った話なので、込み入った疑問を持った人しかこのページには辿り着きません。なので誰かの助けにはなっても、邪魔になることはありません。
自分が良いと思ったことをしようと心がけます。すぐに口から出たようなあなたのくだらない言葉を僕はすでに内包しているように。
自分さえよければ良いと思ってる人に話は通じないかもしれませんが、最後に一言言っておきます。
なので誰かの助けにはなっても、邪魔になることはありません。
あなたが、意味不明な質問とその後の「緩い会話」とかで、Qiita の質問にノイズをばらまいている(=閲覧者の邪魔になっている)と認識すべきです。
自分が良いと思ったことをしようと心がけます。
「自分が良い」=「自分さえよければ良い」と言ってるのと同じだと認識すべきです。
ここのような Q&A サイトで話が通じない質問者と「緩い会話」をしたいなんて思ってる人はいません。
分かりやすい言葉で言うと、数学を知らない小学生相手に、数学を学んだ人が、数学に関して「緩い会話」をしたいなんて思わないということです。
usai さんの回答に対して、
次句はinであったり、色んな理由を表付けるのがiだったんですね
と答えてるところから「話が通じない質問者」と判断してます。