[Python]配列の先頭に要素を追加するには?

python

どうも、ちょげ(@chogetarou)です。

配列の先頭に要素を追加する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

配列の先頭に要素を追加する方法は、3つあります。

insertメソッド

1つ目は、insertメソッドを使う方法です。

具体的には、配列からinsertメソッドを呼び出します。

insertメソッドの第1引数に「0」、第2引数に追加する要素を指定します。

#リストの場合
list.insert(0, element)

#arrayの場合
array.insert(0, element)

第1引数に「0」を指定したinsertメソッドは、呼び出した配列の先頭に第2引数の要素を追加します。

リストの場合

numbers = [2, 3, 4, 5]

numbers.insert(0, 1)

print(numbers) #[1, 2, 3, 4, 5]

arrayの場合

import array as arr

numbers = arr.array('i', [2, 3, 4, 5])

numbers.insert(0, 1)

print(numbers) #array('i', [1, 2, 3, 4, 5])

スライシング

2つ目は、スライシングを使う方法です。

具体的には、[:0]でスライシングした配列に追加する要素の配列を代入します。

#リストの場合
list[:0] = [item1, item2, ・・・]

#arrayの場合
array[:0] = arr.array('i', [item1, item2, ・・・])

上記のコードは、代入した配列の要素をスライシングした配列の先頭に追加します。

リストの場合

numbers = [3, 4, 5]

numbers[:0] = [1, 2]

print(numbers) #[1, 2, 3, 4, 5]

arrayの場合

import array as arr

numbers = arr.array('i', [3, 4, 5])

numbers[:0] = arr.array('i', [1, 2])

print(numbers) #array('i', [1, 2, 3, 4, 5])

+

3つ目は、「+」演算子を使う方法です。

具体的には、配列と追加する要素の配列を「+」演算子で足します。

足す際、追加する要素の配列を「+」の左、配列を「+」の右にします。

#リストの場合
list = [item1, item2, ・・・] + list

#arrayの場合
array = arr.array('i', [1, 2]) + array

リストの場合

numbers = [3, 4, 5]

numbers = [1, 2] + numbers

print(numbers) #[1, 2, 3, 4, 5]

arrayの場合

import array as arr

numbers = arr.array('i', [3, 4, 5])

numbers = arr.array('i', [1, 2]) + numbers

print(numbers) #array('i', [1, 2, 3, 4, 5])

まとめ

配列の先頭に要素を追加する方法は、次の3つです。

  • insertメソッドを使う方法
  • スライシングを使う方法
  • 「+」演算子を使う方法

コメント

タイトルとURLをコピーしました