• 締切済み

pythonのリスト内包?に用いるアルファベット

リスト内包かどうか確信が持てないでいますが、下記はどちらも動作します コード1のrow コード2のi は、何のアルファベットを用いても動作しますが、何と呼ばれるものでしょうか? 代数、変数、その他? チュートリアルでこの名称とふるまいについて説明した該当箇所がみつけられないので、質問いたしました #コード1 matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] saburochu = [row[2] for row in matrix] print(saburochu) # [3, 6, 9] #コード2 matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] saburochu = [i[2] for i in matrix] print(saburochu) # [3, 6, 9] 【回答上のご注意】 回答は、解答(答え)を求めています わたしはプログラマーではないので、昭和的な「自分で考えろ」的なものは求めていません わからなければ答えない自由もあなたにはあります 不明点があれば説明いたします

みんなの回答

回答No.2

結構ムズい質問。 っつーか考えた事無かった(笑)。 Pythonのリスト内包表記ってのはプログラミング言語Haskell Haskell: https://ja.wikipedia.org/wiki/Haskell のリスト内包表記に影響を受けて導入されている。 で、「内包表記」ってのは元は数学から来てるのね。 リスト内包表記: https://ja.wikipedia.org/wiki/%E3%83%AA%E3%82%B9%E3%83%88%E5%86%85%E5%8C%85%E8%A1%A8%E8%A8%98 従って、マトモに考えると、数学用語では > コード1のrow > コード2のi はどちらも「元」(elementあるいはmember)って事になる。 あるいは、もうちょっと弱いと、プログラミング用語で言う「変数」になる。 んで、Pythonの場合、構文上「for」を含んでるんだけど、原理的にはリスト内包表記は(古典的に)「リストを集合として見做してる」んだけど、ループを意図してはいないんだ(実装上はどうあれ)。 多分ちょっと数学寄りの話になるんで、用語的にハッキリこうだ、って言ってないんじゃないかなぁ、分からんけど。 まぁ、フツーには単なる変数でいいと思います。

ketae
質問者

お礼

とりあえず変数というイメージで理解できましたので、よしとしたいと思います ありがとうございます

回答No.1

ループ変数

ketae
質問者

お礼

ありがとうございます ループ変数 が手元のチュートリアル本にないので、本に記載しておきます

関連するQ&A