Pythonを今までは、かいつまんでしか使っていなかったので、
ここらで、しっかり基本を押さえておこうと考えました。
そこで、「みんなのPython」を使い、学習を開始。
C/C++でのプログラミング経験はありますが、Pythonはド素人。
いやー、おもしろい。あんなにC/C++では苦労していたことが、ササッとできちゃう感じが好きです。
プログラミングをするときに、意識しておかなければいけないのは・・・、そう、『データ型』です。
C/C++の場合、嫌というほど気にしなければいけません。
が、Pythonの組み込みデータ型は、なんと柔軟なことでしょう。
それだけでも、プログラミングが俄然簡単になります。
しかし、きっと多くの人が?と感じるのではと思われる、
”スライス”でやはり、軽ーく足踏み。
使い方は容易に理解でき、とても便利なのですが・・・
a[○:□] で、○と□の指定の仕方をインデックスに統一しないのか?が疑問・・・です。
以前、誰かが言っていたのですが、本気で学ぶ気持ちが無い時だったので、
すっかり忘れています。
ご存知の方、教えて下さい!
>a[○:□] で、○と□の指定の仕方をインデックスに統一しないのか?
返信削除□が「インデックス+1」としなければいけないということでしょうか?これは、インデックス値○から始めて、n個分スライスしたい場合、a[○:○+n]と書けて分かりやすいからだと思います。また、0個分をスライスしたい場合、□がインデックス値を表してしまうと、不可能になるからだと思います。
基本的には、C/C++の以下に対応していると考えられます。
for (int i = 0; i < n; i++) {
...
}
この場合でも、終端は含まないで書く方が一般的ですよね?
他の言語では、引数をa.slice(m, n)と指定して、インデックス値mからn個を意味するものもありますね。この場合、0個分取りたいなら、a.slice(m, 0)とすればOKです。
>morchinさん
返信削除なるほど、0個スライスしたい場合を考えると、そうですね、確かに!
納得しました。ありがとうございました。