配列(リスト)の先頭の要素を削除するには (shift)

配列(リスト)の先頭の要素を削除する方法。

shiftとかそれに類するような関数・メソッドは、たいてい先頭の要素を削除しつつ、その削除した要素を返してくれる。

PHP

array_shift関数でできる。配列自身を変更する破壊的な関数である。

// 先頭を削除。削除した要素を返す
array_shift($arr);

array_shift 関数 | PHP Manual
http://php.net/manual/ja/function.array-shift.php

Python

# 先頭を削除。削除した要素を返す
lst.pop(0)

リスト自身を変更する破壊的な方法である。

pop は引数を指定すると、そのインデックスの要素を要素を取得して削除する。引数を省略すると最後の要素を取得して削除する。

# indexの要素を取得して、配列からは削除して詰める
arr.pop(index)

リストと違ってタプルはイミュータブルなので、これに相当するメソッドはない。

Ruby / JRuby

# 先頭を削除。削除した要素を返す
arr.shift

配列自身を変更する破壊的なメソッドである。

配列に要素が1つもない場合は、 nil を返す。

Perl

# 先頭を削除。削除した要素を返す
shift(@arr);

配列自身を変更する破壊的な関数である。

配列に要素が1つもない場合は undef を返す。ただし、配列の要素として undef を含めることもできるため、 undef を返した場合に、先頭の要素が undef だったのか、要素が1つもなかったのかの区別はできない。

引数を指定しないと、mainモジュールの中では @ARGV を対象とし、サブルーチンの中では @_ を対象とする。

JavaScript

# 先頭を削除。削除した要素を返す
arr.shift();

関連

  に追加 を取得して削除
先頭 unshift shift
最後 push pop
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。
スポンサーリンク