KNIMEST’s diary

KNIME使いがPythonも使いたくて勉強中

【Python学習帳】010_リスト

初学者を対象としている京都大学の無料Python教材の学習中です。
「プログラミング演習 Python 2021」
Version2021_10_08_01.pdf

hdl.handle.net

CC-BY-NC-NDライセンスに従って引用します。

 

本教材での到達目標:

Python によるプログラムの実行についての基本操作ができるようになる.
Python プログラムを構成する基本的要素の機能と書式について説明し,例題を用いて実行例を構成できるようになる.
Python を用いて簡単なプログラムを自ら設計,実装,テストできるようになる.

前回で第3章を終え、

knimest.hatenablog.com


今回から第4章、「リスト」の学習を始めます。

Python では複数のデータを一括して扱う方法がいくつかありますが「リスト」はそ の代表です .
本章では Python におけるリストの扱いについて以下のことを学びます.
1. リストとはどのようなものかを知る
2. リストの生成法を知る
3. リストの要素へのアクセス方法を知る
4. リストの代入とコピーについて知る
5. リストの他にデータをまとめて扱う仕掛けとしてタプルと辞書の基礎を知る.

早速リスト利用の体験をしてみました。

余談ですがprintのあとに出力したいデータを括弧でくくり忘れるとちゃんと正しい書き方の提案をしてくれるのですね。
いっそprintコマンド自体を省略するのが楽か。

さて、リストでは

複数のデータに順番をつけた上で一つのものとして扱えるよう になります.

とのことで、一番左から0番目、1番目、…と数えてデータを格納します。

 

最初に0から始めることについてはコラムがあります。

http://hdl.handle.net/2433/265459
「Version2021_10_08_02.pdf」

0.1 Python は 0 ではじまる
Python で数値の範囲を生成する際に使われる range 関数では range(5) とする と,0, 1, 2, 3, 4 と 0 から 4 までの 5 個の整数が生成されます.またリスト a = [0, 1, 2] の要素の先頭は a[0] と添え字に 0 を与えて操作します.C 言語など他の プログラミング言語の経験がなければ奇異に感じられるでしょう.

0で始まることはプログラムとして効率が良い考え方のようです。一例を引用しておきます。

10 まで数えることを考えます.
1, 2, 3, …, 10 となる訳ですが,最後の 10 は桁上がりが生じて 2 桁必要です.
1 桁で扱える数は 0 を含めて 10 通りあるの に,1 から数えることで 0 を遊ばせる一方で,最後の 10 を表すのに 2 桁必要に なってしまいます.

0, 1, 2, …, 9
なら1 桁ですむというのは確かにそうですね。

結局のところ

「郷に入らば郷に従う」という言葉があります.あきらめて慣れるのが近道ですが, 数学のように 1 始まりの添え字を使う文化をもっている応用領域では注意して使いましょう

プログラミングを続けていたら違和感なくなじめるんだろうと期待しつつ次へ進みます。

 

リストをいくつかの方法で作ってみたり、出力したりしてみた結果です。

要素として変数や式も含めるそうですし、リストの中にリストを含めたりもできるのですね。

特に同じ要素を持つリストは乗算記号を用いて書くこともできますが一点気を付けないといけないそうです.

ただし,この方法は要素がリストなど数値や文字列でない場合は同じオブジェクトを指すように動作するので注意が必要です.

リストの作成方法については次回以降も続けて学びます。データの格納方法は重要な基礎技術なので丁寧に解説して下さっているようです。

knimest.hatenablog.com