Nếu bạn đang sử dụng Python 2.x, deque
không phải là một lựa chọn tốt nếu bạn muốn tra cứu. Bạn có thể sử dụng list
hoặc thực hiện những điều sau đây bằng cách sử dụng enumerate[]
:
>>> def index[element, queue]:
... for i, ele in enumerate[queue]:
... if ele == element:
... return i
... raise ValueError["{} is not in queue".format[element]]
>>> index[2, deque[[1, 2, 3, 4]]]
1
Ngoài ra, bạn có thể thực hiện hàng đợi của riêng mình:
>>> class IndexedDeque[deque]:
... def index[self, element]:
... for i, ele in enumerate[self]:
... if ele == element:
... return i
... raise ValueError["{} is not in queue".format[element]]
>>> d_list = IndexedDeque[[1, 2, 3, 4]]
>>> d_list.index[2]
1
bộ sưu tập nhập khẩu
Words = comcands.deque [["jack", "và", "jill", "đã đi", "up", "the", "hill", "to",
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; "Fetch", "A", "Pail", "của", "Water"]]
StartIndex & NBSP; = 2
stopindex & nbsp; & nbsp; = 7
What2find & nbsp; & nbsp; = "Đồi"
pos = words.index [what2find, startindex, stopindex]
In ["Từ '%s' được tìm thấy tại Index:%D"%[What2find, Pos]]]
Bài viết: 11.401
Chủ đề: 433
Danh tiếng: 441
Bài viết: 11.401
Chủ đề: 433
Danh tiếng: 441
Bạn có thể lập chỉ mục vào một con trăn deque?
Chỉ mục [] Phương thức của lớp deque trong Python Index [] Tìm kiếm một phần tử được định nghĩa bởi tham số ELEM và trả về chỉ mục mà tại đó phần tử được tìm thấy trong Python deque. Accessing the elements by their index.
Làm thế nào để bạn truy cập các yếu tố của một deque trong Python?
Python3
Phương pháp 1: Truy cập các yếu tố theo chỉ mục của chúng. Cấu trúc dữ liệu deque từ mô -đun bộ sưu tập không có phương pháp PEEK, nhưng kết quả tương tự có thể đạt được bằng cách tìm nạp các phần tử bằng dấu ngoặc vuông. Phần tử đầu tiên có thể được truy cập bằng [0] và phần tử cuối cùng có thể được truy cập bằng [-1].
Là một con trăn fifo deque?
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good4
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good5
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good4
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good7
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good8
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good9
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good4
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good7
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good deque[['for', 'Geeks', 'is']]2
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good deque[['for', 'Geeks', 'is']]3
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good9
Output:
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good
Hàng đợi Python là một thư viện tích hợp cho phép bạn tạo một danh sách sử dụng quy tắc FIFO, trước tiên. Python Deque sử dụng quy tắc ngược lại, xếp hàng của Lifo hoặc cuối cùng ra khỏi đầu tiên.Using the popleft[] and pop[] method
Deque có nhanh hơn danh sách không?
Python3
Phương pháp 1: Truy cập các yếu tố theo chỉ mục của chúng. Cấu trúc dữ liệu deque từ mô -đun bộ sưu tập không có phương pháp PEEK, nhưng kết quả tương tự có thể đạt được bằng cách tìm nạp các phần tử bằng dấu ngoặc vuông. Phần tử đầu tiên có thể được truy cập bằng [0] và phần tử cuối cùng có thể được truy cập bằng [-1].
Là một con trăn fifo deque?
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good4
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good5
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good4
list
5deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good4
list
7deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good4
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good5
Output:
deque[['Geeks', 'for', 'Geeks', 'is', 'good']] Geeks good deque[['for', 'Geeks', 'is']]
Tôi đã tự hỏi nếu khi bạn deque & nbsp; một danh sách, bạn vẫn có thể truy cập vào giữa danh sách bằng chỉ mục?
Ví dụ :
Từ các bộ sưu tập nhập Deque Q = Deque ["David", "Sally", "Ralph", "Lisa"]
q = deque["David", "Sally", "Ralph", "Lisa"]
Tôi biết tôi có thể popleft, pop & nbsp; và nối vào danh sách, nhưng tôi cũng có thể xóa các mục không phải là đầu tiên hoặc cuối cùng & nbsp; sử dụng lập chỉ mục?
Bài viết: 1.2981,298
Chủ đề: 3838
Tham gia: Tháng 9 năm 2016Sep 2016
Danh tiếng: 30 30
Bạn đã thử chưa? Nếu vậy, kết quả là gì?
Nếu nó không bị vỡ, tôi vẫn chưa nhận được nó. HĐH: Windows 10, OpenSuse 42.3, FreeBSD 11, Raspian "Stretch" Python 3.6.5, IDE: Pycharm 2018 Community Edition
OS: Windows 10, openSuse 42.3, freeBSD 11, Raspian "Stretch"
Python 3.6.5, IDE: PyCharm 2018 Community
Edition
Bài viết: 4.2314,231
Chủ đề: 9797
Tham gia: Tháng 9 năm 2016Sep 2016
Danh tiếng: 30 273
Bạn đã thử chưa? Nếu vậy, kết quả là gì?
Weighs the Same as a Duck
Nếu nó không bị vỡ, tôi vẫn chưa nhận được nó. HĐH: Windows 10, OpenSuse 42.3, FreeBSD 11, Raspian "Stretch" Python 3.6.5, IDE: Pycharm 2018 Community Edition4,331
Bài viết: 4.2311,388
Tham gia: Tháng 9 năm 2016Sep 2016
Danh tiếng: 30 14
Bạn đã thử chưa? Nếu vậy, kết quả là gì?
Nếu nó không bị vỡ, tôi vẫn chưa nhận được nó. HĐH: Windows 10, OpenSuse 42.3, FreeBSD 11, Raspian "Stretch" Python 3.6.5, IDE: Pycharm 2018 Community Edition
Bài viết: 4.231
Chủ đề: 97
So-and-so of the Yard
Danh tiếng: 2732,955
Skaperen nặng giống như một con vịt48
Tham gia: Tháng 9 năm 2016Sep 2016
Danh tiếng: 90 90
Các mô -đun chỉ dành cho điều đó. Lập chỉ mục nhanh, thêm các yếu tố nhanh chóng vào cả hai bên.
Bài viết: 591591
Chủ đề: 2626
Tham gia: Tháng 9 năm 2016Sep 2016
Danh tiếng: 42 42
.wavic Wrote: Fast indexing, fast adding elements to both sides.
Những điều đó không giống nhau. Một deque là một danh sách được liên kết gấp đôi cho phép chèn và trích xuất thời gian không đổi ở đầu hoặc kết thúc. Nhưng nhận được một phần tử theo chỉ mục là một hoạt động thời gian tuyến tính khi bạn cần lặp lại thông qua các liên kết để có được nó.
Từ đây //wiki.python.org/moin/timecomplexity:
Trích dẫn: Một deque [hàng đợi kết thúc kép] được thể hiện nội bộ dưới dạng danh sách được liên kết gấp đôi. .
Bài viết: 11.40111,401
Chủ đề: 433433
Tham gia: Tháng 9 năm 2016Sep 2016
Danh tiếng: 42 441