English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Nombre de tupla en Python

Deque es una generalización de la estructura de pila y cola, inicializada de izquierda a derecha. Utiliza objetos list para crear una cola doble, proporcionando O(1)Complejidad de tiempo.

Dequeis una clase de biblioteca estándar ubicada encollectionsmódulo.

Para poder usarlo, primero necesitamos importar el módulo de biblioteca estándar de colecciones.

import collections

En esta sección, veremos algunas funciones de la clase Deque

Las funciones de adición de la cola doble

Hay dos tipos diferentes de adiciones.append()El método se utiliza para agregar elementos al extremo derecho de la cola, elappendleft()El método se utiliza para agregar elementos a la izquierda de la cola.

Ejemplo de código

import collections as col
#Insertar algunos elementos en la cola al principio
my_deque = col.deque('124dfre')
   print('Desencajar: ') + str(my_deque)
      #insertar x a la derecha y B a la izquierda
      my_deque.append('x')
      my_deque.appendleft('B')
   print('Desencajar después de agregar: ' + str(my_deque)

Resultado de salida

Desencajar: deque(['1', ''2', ''4', 'd', 'f', 'r', 'e'])
Desencajar después de agregar: deque(['B', '1', ''2', ''4', 'd', 'f', 'r', 'e', 'x'])

Las funciones de eliminación de la cola doble

Al igual que el append, hay dos tipos diferentes de funciones de eliminación.pop()El método se utiliza para eliminar y devolver el elemento más a la derecha, elpopleft()El método se utiliza para eliminar y devolver el elemento más a la izquierda de la cola.

Ejemplo de código

import collections as col
#Insertar algunos elementos en la cola al principio
my_deque = col.deque('124dfre')
   print('Desencajar: ') + str(my_deque)
      #eliminar elemento de la derecha e izquierda
      item = my_deque.pop()
   print('Elemento extraído: ' + str(item))
      item = my_deque.popleft()
   print('Elemento extraído: ' + str(item))
print('Desencajar después de las operaciones pop: ' + str(my_deque)

Resultado de salida

Desencajar: deque(['1', ''2', ''4', 'd', 'f', 'r', 'e'])
Elemento extraído: e
Elemento extraído: 1
Desencajar después de las operaciones pop: deque(['2', ''4', 'd', 'f', 'r'])

Las funciones relacionadas con el proyecto en la clase Deque

Algunas funciones de la clase Deque se utilizan para obtener información relacionada con el proyecto. Algunas funciones, comoindex()count()etc. El método index se utiliza para obtener la primera aparición del elemento en la lista. Si no se pasa ningún parámetro al elemento, selecciona toda la lista, y después de especificar un límite específico, verifica el índice dentro de ese límite. Por otro lado, lacount()El método calcula la frecuencia de los proyectos en la Deque.

Ejemplo de código

import collections as col
#Insertar algunos elementos en la cola al principio
my_deque = col.deque('AABCDDEFD')
   print('Desencajar: ') + str(my_deque)
      #encontrar el índice de D
   print('Índice de D:' + str(my_deque.index('D')))
print('Índice de D en el rango 5 a 8 es: ' + str(my_deque.index('D', 5, 8))
#Contar el número de apariciones
   print('Apariciones de A: ' + str(my_deque.count('A')))
print('Apariciones de D: ' + str(my_deque.count('D')))

Resultado de salida

Desencajar: deque(['A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D'])
Índice de D:4
Índice de D en el rango 5 a 8 es: 5
Apariciones de A: 2
Apariciones de D: 3

las apariciones en Dequeinsert()yremove()El método

Hemos visto ya las funciones append y pop en Deque, que se utilizan respectivamente para insertar y eliminar elementos. Además, hay dos métodos relacionados con la inserción y eliminación.insert()El método se utiliza para insertar números. En este caso, podemos proporcionar el índice de inserción. Por lo tanto, se puede insertar el proyecto en la posición especificada. Y laremove()El método se utiliza para eliminar la primera aparición del elemento.

Ejemplo de código

import collections as col
#Insertar algunos elementos en la cola al principio
my_deque = col.deque('AABCDDEFD')
print('Desencajar: ') + str(my_deque)
#Insertar las letras G y H en la posición 5, 7 respectivamente
my_deque.insert(5, 'G')
my_deque.insert(7, 'H')
print('Desencolar después de insertar: ' + str(my_deque)
#Eliminar la primera aparición de la letra D
my_deque.remove('D')
print('Desencolar después de eliminar: ' + str(my_deque)

Resultado de salida

Desencajar: deque(['A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D'])
Desencolar después de insertar: deque(['A', 'A', 'B', 'C', 'D', 'G', 'D', 'H', 'E', 'F', 'D'])
Desencolar después de eliminar: deque(['A', 'A', 'B', 'C', 'G', 'D', 'H', 'E', 'F', 'D'])

La función de expansión en Deque

La función de expansión se utiliza para agregar varios elementos a la Deque. Podemos usar listas, tuplas y otros conjuntos para proporcionar varios valores. Hay dos funciones de expansión.extend()método se utiliza para agregar elementos a la derecha, al igual que repetirappend()método。Y elextendleft()método se utiliza para agregar elementos a la izquierda, al igual que repetirappendleft()método。

Ejemplo de código

import collections as col
#Insertar algunos elementos en la cola al principio
my_deque = col.deque('AABCDDEFD')
print('Desencajar: ') + str(my_deque)
#Aumentar mediante el 1, 3, 5, 7 a la derecha y x, y, z a la izquierda
my_deque.extend([1, 3, 5, 7])
my_deque.extendleft(['x', 'y', 'z'])
print('Desencajar después de extender:') + str(my_deque)

Resultado de salida

Desencajar: deque(['A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D'])
Desencajar después de extender: deque(['z', 'y', 'x', 'A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D',] 1, 3, 5, 7])

funcionalidades de reversión y rotación de la cola doble

podemos usar elreverse()método invierte el orden de salida de la cola。Hay otro métodorotate()。使用rotate方法,双端队列可以使用指定为参数的数字进行旋转。如果参数为正,则向右旋转,如果为负数,则向左旋转。

Ejemplo de código

import collections as col
#Insertar algunos elementos en la cola al principio
my_deque = col.deque('AABCDDEFD')
print('Desencajar: ') + str(my_deque)
my_deque.reverse()
print('Deque después de revertir:') + str(my_deque)
#Rotar a la derecha, 3 elementos
my_deque.rotate(3)
print('Deque después de rotar:') + str(my_deque)

Resultado de salida

Desencajar: deque(['A', 'A', 'B', 'C', 'D', 'D', 'E', 'F', 'D'])
Deque después de revertir: deque(['D', 'F', 'E', 'D', 'D', 'C', 'B', 'A', 'A'])
Deque después de rotar: deque(['B', 'A', 'A', 'D', 'F', 'E', 'D', 'D', 'C'])