環境設定
プログラム作成
シーケンス型
tkinter
|
Pythonシーケンス型シーケンス型の使い方を説明します. 目次はじめに順番に複数のデータが並んでいる場合には,シーケンス型が便利です.Python には,list, tuple, str, bytearray, bytes があります.シーケンス型では,メンバテスト関数(in),サイズ関数(len),スライス([])が使えます. リストリストとはリストは,複数のデータをひとつにまとめたものです.例えば, a = [1, 2, 3, 4.1, 5,3, 6.5] です.個々のデータはカンマ( , )で分けられ,角括弧( [ ] )でひとつにまとめられます.データへのアクセスは 個々のデータの型は,同一である必要はありません. a = [1, 'one', 3.1415, 2.7182818, 'hoge', 'fuga', math.sin] 数値や文字列,組み込み関数もリストのメンバーにすることが可能です.この例では,a[6](math.pi/2) とすると 1 が得られます[注意].要するに,リストはオブジェクトを格納するということです. リストの作成単純な方法 (リテラル・繰り返し)直接値を指定 (リテラル) ,あるいは繰り返し処理により,リストの作成ができます. b = [] for i in range(0, 10): b.append(2*i) リスト内包表記高度なリストを作成する場合,リスト内表記は,とても便利です. 一次元リストの内包表記 (List Comprehensions) を使うと,すっきりとリストが生成できます.例えば,[0, 1, 4, 9, 16, … , 100] は,次のように記述できます. a = [i**2 for i in range(0, 11)] この動作は説明するまでもないでしょう.以下と全く同じです. a = [] for i in range(1, 11): a.append(i**2) リスト内包表記を使うと,プログラムが短くなり,内容が分かりやすくなります.シーケンス — 他のプログラミング言語では配列など — を使った処理では,繰り返し文が多く現れます.単純な処理であっても数行を要し,ソースコードが読み難くくなってしまいます.それに対して,リストの内包表記では1行ですので,とても解りやすいソースコードになります. 多次元二次元のリスト内包表記は,以下のようにします (実際のプログラム). a = [[(i, j) for j in range(3)] for i in range(4)] このリスト内表記の a の値は,[[(0, 0), (0, 1), (0, 2)], [(1, 0), (1, 1), (1, 2)], [(2, 0), (2, 1), (2, 2)], [(3, 0), (3, 1), (3, 2)], [(4, 0), (4, 1), (4, 2)]] です. 三次元は,次のようにします (実際のプログラム). a = [[[100*i+10*j+k for k in range(10)] for j in range(10)] for i in range(10)] 四次元以上も同じです. シーケンス型の関数・演算子全てに適用
ミュータブルなシーケンス型に適用
ページ作成情報参考資料
更新履歴
|