Pythonのリストは非常に便利なデータ型です。
ある特定の要素をグループ化し、一括で処理することができます。
リストに要素を追加・挿入するときに使うappend関数とinsert関数を紹介します。
インデックスを指定して要素を追加する
リストに要素を追加するには、append関数を使います。
1 |
操作対象のリスト.append(追加するオブジェクト) |
要素はリストの末尾に追加されます。以下のサンプルはリストの末尾に「4」を追加するサンプルです。
1 2 3 4 5 6 7 8 9 |
# -*- coding: utf-8 -*- # 4つの要素を持つ配列を宣言 xs = [0, 1, 2, 3] # xsに要素を追加 xs.append(4) # 正しく追加されたか確かめます print xs # [0, 1, 2, 3, 4] |
インデックスを指定して要素を追加する
「append」メソッドでは末尾にしか要素は追加できませんが、insert関数を使用すれば指定した位置に要素を挿入することができます。
1 |
操作対象のリスト.insert(位置, 挿入するオブジェクト) |
第1引数でリストに挿入したい位置の前を指定します。第2引数には追加するオブジェクトを渡します。以下はサンプルです3番目に「4」を挿入する例です。
1 2 3 4 5 6 7 8 9 10 |
# -*- coding: utf-8 -*- # 4つの要素を持つ配列を宣言 xs = [0, 1, 2, 3] # xsに要素を追加 xs.insert(2, 4) # 正しく挿入されたか確かめます print xs # [0, 1, 4, 3, 4] |
より実用的なサンプル
append関数を使用して、名簿をもとにペアを組むプログラムを作ってみます。参加者が奇数の場合は、偶数になるよう名簿にMikeを追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# -*- coding: utf-8 -*- # 参加者名簿 participants = ['John', 'Bill', 'Alex', 'Bob', 'Thomas'] # 結果を入れる配列 pairs = [] # 奇数ならMikeを名簿に追加 if len(participants) % 2 == 1: participants.append('Mike') # ペアを作る for i in xrange(len(participants)): # リストを1つ飛ばし if i % 2 == 1: continue a = participants[i] b = participants[i + 1] pair = (a, b) # できたペアを追加 pairs.append(pair) # 結果を表示 print pairs # [('John', 'Bill'), ('Alex', 'Bob'), ('Thomas', 'Mike')] |