配列(リスト)から特定の要素をインデックスで指定して削除するには (delete_at / pop / remove / unset) 2016/12/21
配列(リスト)からインデックスで要素を指定して削除する方法。
関連
Java 2015/04/25
Signature:
Scala 2016/02/23
Signature:
PHP 2014/03/21
PHPの配列は連想配列と区別されないので、連想配列と同じくunset
で要素を削除することはできるが、削除した要素のより後ろの要素のインデックスが前に詰められることはない。前に詰めるためには array_values
を使う。
例
$arr = array(10, 20, 30);
unset($arr[1]);
var_export($arr);
# => array (
# 0 => 10,
# 2 => 30,
# )
$arr = array_values($arr);
var_export($arr);
# => array (
# 0 => 10,
# 1 => 30,
# )
array_values
関数 | PHP Manual
http://php.net/manual/ja/function.array-values.php
Python 2013/10/06
リストの指定のインデックスの要素を取得し、削除して詰める。
lst.pop(index)
# または
del(lst[index])
pop
は引数を指定しないと最後の要素を取得して削除する。(->pop
)
Ruby / JRuby 2014/12/31
Array#delete_at
でできる。
要素を取得する []
と同様に負を指定すると後ろから数えてくれる。
arr = [10, 20, 30, 40, 50]
arr.delete_at(3)
p arr
# => [10, 20, 30, 50]
Array#delete
はインデックスではなくて値で指定して削除する。
Array#delete_at
| Ruby 2.1 リファレンスマニュアル
http://docs.ruby-lang.org/ja/2.1.0/method/Array/i/delete_at.html