Logo

Programming-Idioms

Remove i-th item from list items.
This will alter the original list or return a new list, depending on which is more idiomatic.
Note that in most languages, the smallest valid value for i is 0.
New implementation

Be concise.

Be useful.

All contributions dictatorially edited by webmasters to match personal tastes.

Please do not paste any copyright violating material.

Please try to avoid dependencies to third-party libraries and frameworks.

Other implementations
with Ada.Containers.Vectors;
use Ada.Containers;
Items.Delete (I);
(defn remove-idx [i items]
    (keep-indexed #(when-not (= i %1) %2) items))
items.erase (items.begin () + i);
using System.Collections.Generic;
items.RemoveAt(i);
import std.algorithm.mutation;
items = items.remove(i);
items.removeAt(i);
List.delete_at(items, i)
{Left, [_|Right]} = lists:split(I-1, Items),
Left ++ Right.
integer, allocatable, dimension(:) :: items
items = [items(:i-1), items(i+1:)]
items = append(items[:i], items[i+1:]...)
import "slices"
items = slices.Delete(items, i, i+1)
copy(items[i:], items[i+1:])
items[len(items)-1] = nil
items = items[:len(items)-1]
take i items ++ drop (1 + i) items
let new_list = items.filter(function(val,idx,ary) { return idx != i });
items.splice(i,1);
items.remove(i);
import java.util.List;
items.remove(i);
items.removeAt(i)
(defun remove-item-by-index (index items)
  "Construct a fresh list which is a copy of ITEMS (a list) excluding the item at INDEX."
  (loop for item in items
          as i from 0
          unless (= index i) collect item))
local removedItem = table.remove(items,i)
@import Foundation;
[items removeObjectAtIndex:i];
unset($items[$i]);
list[i] := list[high(list)];
setlength(list,high(list));
$removed_element = splice @items, $i, 1;
del items[i]
items.pop(i)
items.delete_at(i) 
items.remove(i)
val without = {
  val (left, right) = items.splitAt(i)
  left ++ right.drop(1)
}
(define (removeElementByIndex L i)
  (if (null? L)
      null
      (if (= i 0)
          (cdr L)
          (cons (car L) (removeElementByIndex (cdr L) (- i 1)))
       )
    )
)
items removeAt: i.