Saya memiliki daftar yang [0, 1, 2, 3, 4]
ingin saya buat [1, 2, 3, 4]
. Bagaimana saya melakukannya?
Saya memiliki daftar yang [0, 1, 2, 3, 4]
ingin saya buat [1, 2, 3, 4]
. Bagaimana saya melakukannya?
Jawaban:
list.pop (indeks)
>>> l = ['a', 'b', 'c', 'd']
>>> l.pop(0)
'a'
>>> l
['b', 'c', 'd']
>>>
daftar del [indeks]
>>> l = ['a', 'b', 'c', 'd']
>>> del l[0]
>>> l
['b', 'c', 'd']
>>>
Keduanya mengubah daftar asli Anda.
Yang lain menyarankan menggunakan slicing:
Juga, jika Anda melakukan banyak pop (0), Anda harus melihat collections.deque
from collections import deque
>>> l = deque(['a', 'b', 'c', 'd'])
>>> l.popleft()
'a'
>>> l
deque(['b', 'c', 'd'])
Mengiris:
x = [0,1,2,3,4]
x = x[1:]
Yang sebenarnya akan mengembalikan subset dari aslinya tetapi tidak memodifikasinya.
x
kosong, x=x[1:]
akan membiarkannya kosong tanpa mengeluh. x.pop(0)
akan membuang daftar kosong x
. Terkadang melempar adalah apa yang diinginkan seseorang: Jika asumsi bahwa setidaknya ada elemen dalam daftar itu salah, orang mungkin ingin mendapat pemberitahuan.
>>> x = [0, 1, 2, 3, 4]
>>> x.pop(0)
0
Lebih lanjut tentang ini di sini .
Anda dapat menggunakan list.reverse()
untuk membalik daftar, lalu list.pop()
untuk menghapus elemen terakhir, misalnya:
l = [0, 1, 2, 3, 4]
l.reverse()
print l
[4, 3, 2, 1, 0]
l.pop()
0
l.pop()
1
l.pop()
2
l.pop()
3
l.pop()
4
Anda juga dapat menggunakan list.remove(a[0])
untuk pop
mengeluarkan elemen pertama dalam daftar.
>>>> a=[1,2,3,4,5]
>>>> a.remove(a[0])
>>>> print a
>>>> [2,3,4,5]
a.remove(a[1-1])
? Itu cara lain.
list.remove(a[i])
. Dengan nilai duplikat, mungkin menemukan elemen sebelumnya dengan nilai yang sama, dan menghapus yang bukan i'th.
Ada struktur data yang disebut "deque" atau antrian ujung ganda yang lebih cepat dan efisien daripada daftar. Anda dapat menggunakan daftar Anda dan mengubahnya menjadi deque dan melakukan transformasi yang diperlukan di dalamnya. Anda juga dapat mengubah deque kembali ke daftar.
import collections
mylist = [0, 1, 2, 3, 4]
#make a deque from your list
de = collections.deque(mylist)
#you can remove from a deque from either left side or right side
de.popleft()
print(de)
#you can covert the deque back to list
mylist = list(de)
print(mylist)
Deque juga menyediakan fungsi yang sangat berguna seperti memasukkan elemen ke kedua sisi daftar atau ke indeks tertentu. Anda juga dapat memutar atau membalikkan deque. Cobalah!!