Tôi có danh sách [0, 1, 2, 3, 4]
tôi muốn đưa nó vào [1, 2, 3, 4]
. Làm thế nào để tôi đi về điều này?
Tôi có danh sách [0, 1, 2, 3, 4]
tôi muốn đưa nó vào [1, 2, 3, 4]
. Làm thế nào để tôi đi về điều này?
Câu trả lời:
list.pop (chỉ mục)
>>> l = ['a', 'b', 'c', 'd']
>>> l.pop(0)
'a'
>>> l
['b', 'c', 'd']
>>>
danh sách del [chỉ mục]
>>> l = ['a', 'b', 'c', 'd']
>>> del l[0]
>>> l
['b', 'c', 'd']
>>>
Cả hai đều sửa đổi danh sách ban đầu của bạn.
Những người khác đã đề nghị sử dụng cắt lát:
Ngoài ra, nếu bạn đang biểu diễn nhiều pop (0), bạn nên xem bộ sưu tập.deque
from collections import deque
>>> l = deque(['a', 'b', 'c', 'd'])
>>> l.popleft()
'a'
>>> l
deque(['b', 'c', 'd'])
Cắt lát:
x = [0,1,2,3,4]
x = x[1:]
Mà thực sự sẽ trả về một tập hợp con của bản gốc nhưng không sửa đổi nó.
x
trống, x=x[1:]
sẽ để trống mà không phàn nàn. x.pop(0)
sẽ ném cho một danh sách trống x
. Đôi khi ném là điều người ta muốn: Nếu giả định rằng có ít nhất một yếu tố trong danh sách là sai, người ta có thể muốn được thông báo.
>>> x = [0, 1, 2, 3, 4]
>>> x.pop(0)
0
Thêm về điều này ở đây .
Bạn có thể sử dụng list.reverse()
để đảo ngược danh sách, sau đó list.pop()
xóa phần tử cuối cùng, ví dụ:
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
Bạn cũng có thể sử dụng list.remove(a[0])
để pop
đưa ra phần tử đầu tiên trong danh sách.
>>>> a=[1,2,3,4,5]
>>>> a.remove(a[0])
>>>> print a
>>>> [2,3,4,5]
a.remove(a[1-1])
? Đó là một cách khác.
list.remove(a[i])
. Với các giá trị trùng lặp, nó có thể tìm thấy một phần tử trước đó có cùng giá trị và xóa phần tử đó thay vì phần tử thứ i.
Có một cơ sở hạ tầng được gọi là "deque" hoặc hàng đợi kết thúc gấp đôi, nhanh hơn và hiệu quả hơn một danh sách. Bạn có thể sử dụng danh sách của mình và chuyển đổi nó thành deque và thực hiện các biến đổi cần thiết trong đó. Bạn cũng có thể chuyển đổi deque trở lại danh sách.
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 cũng cung cấp các chức năng rất hữu ích như chèn các phần tử vào một trong hai phía của danh sách hoặc cho bất kỳ chỉ mục cụ thể nào. Bạn cũng có thể xoay hoặc đảo ngược một deque. Hãy thử một lần!!