32 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Deque | |||
|  | localeTitle: и | |||
|  | --- | |||
|  | ## Использование списка в качестве очередей
 | |||
|  | 
 | |||
|  | Также возможно использовать список в качестве очереди, где требуется операция FIFO («первый вход, первый выход»). Списки не эффективны как очередь при использовании добавок и всплывающих окон, поскольку она может замедляться, поскольку все элементы должны быть сдвинуты на один для каждого добавления / всплытия. | |||
|  | 
 | |||
|  | Чтобы реализовать очередь, используйте collection.deque, который был разработан для быстрого добавления и всплывания с обоих концов. | |||
|  | 
 | |||
|  | #### Пример использования
 | |||
|  | 
 | |||
|  | ```py | |||
|  | from collections import deque  | |||
|  |  queue = deque(["January", "February", "March", "April"] )  | |||
|  |   | |||
|  |  queue.append("May")  | |||
|  |   | |||
|  |  queue.popleft()  | |||
|  |  queue.popleft()  | |||
|  |   | |||
|  |  print "Spring months in the list: ", queue  | |||
|  | ``` | |||
|  | 
 | |||
|  | #### Вывод
 | |||
|  | ``` | |||
|  | Spring months in the list:  deque(['March', 'April', 'May'])  | |||
|  | ``` | |||
|  | 
 | |||
|  | #### Дополнительная информация:
 | |||
|  | 
 | |||
|  | Официальную документацию для `collections.deque` можно найти [здесь](https://docs.python.org/3/library/collections.html#collections.deque) |