How to Remove the First Item from a List

How do I remove the first item from a list?

You can find a short collection of useful list functions here.

list.pop(index)

>>> l = ['a', 'b', 'c', 'd']
>>> l.pop(0)
'a'
>>> l
['b', 'c', 'd']
>>>

del list[index]

>>> l = ['a', 'b', 'c', 'd']
>>> del l[0]
>>> l
['b', 'c', 'd']
>>>

These both modify your original list.

Others have suggested using slicing:

  • Copies the list
  • Can return a subset

Also, if you are performing many pop(0), you should look at collections.deque

from collections import deque
>>> l = deque(['a', 'b', 'c', 'd'])
>>> l.popleft()
'a'
>>> l
deque(['b', 'c', 'd'])
  • Provides higher performance popping from left end of the list

Remove first Item of the array (like popping from stack)

The easiest way is using shift(). If you have an array, the shift function shifts everything to the left.

var arr = [1, 2, 3, 4]; 
var theRemovedElement = arr.shift(); // theRemovedElement == 1
console.log(arr); // [2, 3, 4]

How to get everything from the list except the first element using list slicing

You can just do [1:].
This will work on both versions.

The most efficient way to remove first N elements in a list?

You can use list slicing to archive your goal.

Remove the first 5 elements:

n = 5
mylist = [1,2,3,4,5,6,7,8,9]
newlist = mylist[n:]
print newlist

Outputs:

[6, 7, 8, 9]

Or del if you only want to use one list:

n = 5
mylist = [1,2,3,4,5,6,7,8,9]
del mylist[:n]
print mylist

Outputs:

[6, 7, 8, 9]

Remove the first N items that match a condition in a Python list

One way using itertools.filterfalse and itertools.count:

from itertools import count, filterfalse

data = [1, 10, 2, 9, 3, 8, 4, 7]
output = filterfalse(lambda L, c=count(): L < 5 and next(c) < 3, data)

Then list(output), gives you:

[10, 9, 8, 4, 7]

How to remove the first and last item in a list?

I'm not sure exactly what you want since it is unclear but this should help. You actually only have a single element in that list.

Assuming all your list items are strings with spaces as delimiters, here is how you can remove the first and last group of characters from each string in the list.

>>> L = ['Q 0006 005C 0078 0030 0030 0033 0034 ONE_OF 0002 ']
>>> [' '.join(el.split()[1:-1]) for el in L]
['0006 005C 0078 0030 0030 0033 0034 ONE_OF']

Remove and Return First Item of List

Most suitable collection for this operation is Queue:

var queue = new Queue<int>();
queue.Enqueue(10); //add first
queue.Enqueue(20); //add to the end

var first = queue.Dequeue(); //removes first and returns it (10)

Queue makes Enqueue and Dequeue operations very fast. But, if you need to search inside queue, or get item by index - it's bad choice. Compare, how many different types of operations do you have and according to this choose the most suitable collection - queue, stack, list or simple array.

Also you can create a Queue from a List:

var list = new List<int>();
var queue = new Queue<int>(list);

How to remove the first item in a list in Tcl

Tcl doesn't have an lremove command. But it has several alternatives:

set list [lrange $list 1 end]
set list [lreplace $list 0 0]
set list [lassign $list dummy]

And, in 8.7:

set list [lremove $list 0]
lpop list 0

None of these will work with your input data as presented; Tcl uses whitespace to separate list elements, not commas. We need to do some prep and post work too:

set list [split "1,2,3,4,5" ","]
set list [lreplace $list 0 0]
puts [join $list ","]

How to remove item from list and return new list without removed item in flutter

You can use cascade notation to return the list when you call removeAt.

void main() {
print(['a', 'b', 'c', 'd']..removeAt(2));
}


Related Topics



Leave a reply



Submit