Pythonでリストに要素を追加・挿入する:append(), insert()
Pythonのリストは非常に便利なデータ型です。
ある特定の要素をグループ化し、一括で処理することができます。
リストに要素を追加・挿入するときに使うappend関数とinsert関数を紹介します。
インデックスを指定して要素を追加する
リストに要素を追加するには、append関数を使います。
操作対象のリスト.append(追加するオブジェクト)
要素はリストの末尾に追加されます。以下のサンプルはリストの末尾に「4」を追加するサンプルです。
# -*- coding: utf-8 -*- # 4つの要素を持つ配列を宣言 xs = [0, 1, 2, 3] # xsに要素を追加 xs.append(4) # 正しく追加されたか確かめます print xs # [0, 1, 2, 3, 4]
インデックスを指定して要素を追加する
「append」メソッドでは末尾にしか要素は追加できませんが、insert関数を使用すれば指定した位置に要素を挿入することができます。
操作対象のリスト.insert(位置, 挿入するオブジェクト)
第1引数でリストに挿入したい位置の前を指定します。第2引数には追加するオブジェクトを渡します。以下はサンプルです3番目に「4」を挿入する例です。
# -*- coding: utf-8 -*- # 4つの要素を持つ配列を宣言 xs = [0, 1, 2, 3] # xsに要素を追加 xs.insert(2, 4) # 正しく挿入されたか確かめます print xs # [0, 1, 4, 3, 4]
より実用的なサンプル
append関数を使用して、名簿をもとにペアを組むプログラムを作ってみます。参加者が奇数の場合は、偶数になるよう名簿にMikeを追加します。
# -*- 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')]