Saya memiliki daftar yang [0, 1, 2, 3, 4]
ingin saya buat [1, 2, 3, 4]
. Bagaimana saya melakukannya?
773
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:
Yang sebenarnya akan mengembalikan subset dari aslinya tetapi tidak memodifikasinya.
sumber
x
kosong,x=x[1:]
akan membiarkannya kosong tanpa mengeluh.x.pop(0)
akan membuang daftar kosongx
. Terkadang melempar adalah apa yang diinginkan seseorang: Jika asumsi bahwa setidaknya ada elemen dalam daftar itu salah, orang mungkin ingin mendapat pemberitahuan.Lebih lanjut tentang ini di sini .
sumber
Dengan pemotongan daftar, lihat tutorial Python tentang daftar untuk detail lebih lanjut:
sumber
kamu hanya akan melakukan ini
atau
l = l[1:]
Pro dan kontra
Dengan menggunakan pop, Anda dapat mengambil nilainya
katakanlah
x = l.pop(0)
x
akan0
sumber
Kemudian hapus saja:
sumber
Anda dapat menggunakan
list.reverse()
untuk membalik daftar, lalulist.pop()
untuk menghapus elemen terakhir, misalnya:sumber
Anda juga dapat menggunakan
list.remove(a[0])
untukpop
mengeluarkan elemen pertama dalam daftar.sumber
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.Jika Anda bekerja dengan numpy, Anda perlu menggunakan metode hapus :
sumber
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.
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!!
sumber