Operation of Python collections
Un conjunto es una secuencia desordenada de elementos que no se repiten. Los elementos de la colección son inmutables
El propósito de la colección es almacenar diferentes valores juntos. Se utilizan diferentes colecciones para operaciones relacionales, sin tener que preocuparse por un único valor de la colección.
1. Crear una colección
name0 = {1,2,3,'Hello there','luatao'}
print(name0)
name1 = set()
print(name1)
name2 = ['nihoa',1,2]
name3 = set(name2)
print(name3)
Resultado de la salida:
{1, 2, 3, ‘Hola’, ‘luatao’}
set()
{‘nihoa’, 1, 2}
2. Configurar para eliminar la duplicación
name0 = {1,2,3,'Hello there',2,3,'luatao'}
print('Original collection:',name0)
Resultado de la salida:
Conjunto original: {‘luatao’, 1, 2, 3, ‘Hola’}
3. Visite la colección
Los elementos almacenados en la colección están desordenados y no repetitivos, por lo que no puede tener acceso a los elementos almacenados en la colección a través de índices como listas y tuplas. El acceso a los elementos de colección puede usar el operador miembro en o no para determinar si un elemento está en la colección.
name0 = {1,2,3,'Hello there','luatao'}
print('luatao' in name0)
print('luatao' not in name0)
Resultado de la salida:
Verdad
Falso
4. Añadir elementos
Agregue el elemento x al conjunto s, si el elemento ya existe, no haga nada.
name0 = {1,2,3,'Hello there','luatao'}
print('Original collection:',name0)
name0.add('luatao')
name0.add('nihao')
print('Current collection:',name0)
name0.update((2,'ada'))
print('Current collection:',name0)
name0.update((2,'ada'),(3,4,5))
print('Current collection:',name0)
Resultado de la salida:
Conjunto original: {1, 2, 3, ‘luatao’, ‘hello’}
Conjunto actual: {1, 2, 3, ‘luatao’, ‘hello’, ‘nihao’}
Conjunto actual: {1, 2, 3, ‘luatao’, ‘ada’, ‘hello’, ‘nihao’}
Conjunto actual: {1, 2, 3, 4, 5, ‘luatao’, ‘ada’, ‘hello’, ‘nihao’}
5. Eliminar elementos
name0 = {1,2,3,'Hello there',2,3,'luatao'}
print('Original collection:',name0)
name0.remove('luatao')
print('remove:',name0)
name1 = {1,2,3,'Hello there',2,3,'luatao'}
name1.discard('luatao')
print('discard:',name1)
name2 = {1,2,3,'Hello there',2,3,'luatao'}
name2.pop()
print('pop:',name2)
name3 = {1,2,3,'Hello there',2,3,'luatao'}
name3.clear()
print('clear:',name3)
Resultado de la salida:
Conjunto original: {1, 2, 3, ‘luatao’, ‘hello’}
eliminar: {1, 2, 3, ‘Hola’}
descarte: {1, 2, 3, ‘Hola’}
pop: {2, 3, ‘luatao’, ‘hello’}
claro: set()
6. Establecer operaciones
Intersección, unión, complemento, subconjunto, superconjunto
name0 = {1,2,3,'a','b','c'}
name1 = {2,3,4,'b','c'}
print('Original collection name0:',name0)
print('Original collection name1:',name1)
name3 = name0 & name1
print('Intersection:',name3)
name4 = name0 | name1
print('Union:',name4)
name5 = name0 - name1
print('Complement:',name5)
name6 = name0 ^ name1
print('Symmetric complement:',name6)
print('Superset:',name0>name1)
print('Subset:',name0<name1)
print('equal:',name0 == name1)
print('Wait:',name0 != name1)
Resultado de la salida:
El nombre original del conjunto0: {1, 2, 3, ‘a’, ‘b’, ‘c’}
El nombre original del conjunto1: {2, 3, 4, ‘b’, ‘c’}
Intersección: {‘b’, ‘c’, 2, 3}
Unión: {1, 2, 3, ‘a’, 4, ‘b’, ‘c’}
Complemento: {1, ‘a’}
Complemento simétrico: {4, 1, ‘a’}
Superconjunto: Falso
Subconjunto: False
Igual: Falso
varía: Verdadero
7. Colecciones inmutables
El problema con las colecciones anidadas es que las colecciones normalmente no pueden contener valores variables como colecciones. En este caso, es posible que desee utilizar un conjunto inmutable (conjunto congelado). Excepto que el valor no se puede cambiar, los conjuntos inmutables y los conjuntos mutables son muy similares. Puede utilizar «frozenset()» para crear un conjunto inmutable.
name0 = frozenset()
print(name0)
name1 = frozenset([1,2,3,4])
print(name1)
Resultado de la salida:
frozenset()
frozenset({1, 2, 3, 4})
Es importante recordar que una de las principales desventajas de los conjuntos inmutables es que son inmutables, lo que significa que no puede agregarles elementos ni eliminar elementos de ellos. .
8. Funciones integradas de la colección
Método |
Descripción |
set.add(elmnt) |
El método add() se utiliza para agregar elementos a la colección. Si el elemento agregado ya existe en la colección, no se realiza ninguna operación. |
set.clear() |
El método clear() se utiliza para eliminar todos los elementos de la colección. |
set.copy() |
El método copy() se utiliza para copiar una colección. |
set.difference(set) |
El método difference() se utiliza para devolver la diferencia del conjunto, es decir, los elementos de conjunto devueltos están contenidos en el primer conjunto, pero no en el segundo conjunto (parámetro del método). |
set.difference_update(set) |
El método difference_update() se utiliza para quitar los elementos que existen en ambos conjuntos. La diferencia entre el método difference_update() y el método difference() es que el método difference() devuelve una nueva colección con los mismos elementos quitados, mientras que el método difference_update() quita directamente los elementos de la colección original sin devolver un valor. |
set.discard(valor) |
El método discard() se utiliza para quitar el elemento de colección especificado. Este método es diferente del método remove() porque el método remove() causará un error al quitar un elemento inexistente, mientras que el método discard() no lo hará. |
set.remove(item) |
El método remove() se utiliza para quitar el elemento especificado en la colección. Este método es diferente del método discard() porque el método remove() causará un error al quitar un elemento inexistente, mientras que el método discard() no lo hará. |
set.pop() |
El método pop() se utiliza para eliminar aleatoriamente un elemento. |
set.update(set) |
El método update() se utiliza para modificar la colección actual. Puede agregar nuevos elementos o colecciones a la colección actualIon. Si el elemento agregado ya existe en la colección, el elemento solo aparecerá una vez y los duplicados se omitirán. |
set.union(set1, set2…) |
El método union() devuelve la unión de los dos conjuntos, es decir, contiene todos los elementos del conjunto y los elementos repetidos solo aparecerán una vez. |
set.intersection(set1, set2 … etc.) |
El método intersection() se utiliza para devolver los elementos contenidos en dos o más conjuntos, es decir, la intersección. |
set.intersection_update(set1, set2 … etc.) |
El método intersection_update() se utiliza para obtener elementos que se superponen en dos o más conjuntos, es decir, para calcular la intersección. El método intersection_update() es diferente del método intersection(), porque el método intersection() devuelve un nuevo conjunto, mientras que el método intersection_update() quita elementos no superpuestos del conjunto original. |
set.symmetric_difference(set) |
El método symmetric_difference() devuelve una colección de elementos únicos en las dos colecciones, es decir, quita los elementos que existen en ambas colecciones. |
set.symmetric_difference_update(set) |
El método symmetric_difference_update() quita los mismos elementos en otro conjunto especificado en el conjunto actual e inserta elementos diferentes en otro conjunto especificado en el conjunto actual. |
set.isdisjoint(set) |
El método isdisjoint() se utiliza para determinar si dos conjuntos contienen los mismos elementos, si no, devuelve True, de lo contrario devuelve False. . |
set.issubset(set) |
El método issubset() se utiliza para determinar si todos los elementos de la colección se incluyen en la colección especificada, si es así, devuelve True, de lo contrario devuelve False. |
set.issuperset(set) |
El método issuperset() se utiliza para determinar si todos los elementos de la colección especificada están contenidos en la colección original, si es así, devuelve True, de lo contrario devuelve False. |
name0 = {1,2,'a','b,','luatao',3.3,'Lu Atao'}
print('Initial collection:',name0)
name0.add('ds')
print('add:',name0)
name0.clear()
print('clear:',name0)
name1 = {1,2,'a','b,','luatao',3.3,'Lu Atao'}
name2 = name1.copy()
print('copy:',name2)
name3 = {1,2,3}
name4 = {2,3,4}
print('difference:',name3.difference(name4))
name5 = {1,2,3,4,5,6}
name6 = {2,3,4,1}
name5.difference_update(name6)
print('difference_update:',name5)
name7 = {2,3,4,1}
name7.discard(4)
print('discard:',name7)
name8 = {2,3,4,1}
name8.remove(4)
print('remove:',name8)
name9 = {2,3,4,1}
x = name9.pop()
print('The pop-up value:',x)
print('pop:',name9)
name10 = {2,3,4,1}
name11 = ['nihoa','Hello there',3,4,5]
name10.update(name11)
print('update:',name10)
name12 = {1,2,'a'}
name13 = {1,3,4,'b'}
name14 = {3,4,'c'}
name15 = name12.union(name13)
print('union:',name15)
name16 = name12.union(name13,name14)
print('union:',name16)
name17 = {1,2,'a'}
name18 = {1,3,4,'b'}
name19 = {3,4,'c'}
name20 = name17.intersection(name18)
print('intersection:',name20)
name21 = name17.intersection(name18,name19)
print('intersection:',name21)
name22 = {1,2,'a'}
name23 = {1,3,4,'b'}
name24 = {3,4,'c',1}
name22.intersection_update(name23)
print('intersection_update:',name22)
name22.intersection_update(name23,name24)
print('intersection_update:',name22)
name25 = {1,2,3,4,5,6}
name26 = {2,3,4,1}
name27 = name25.symmetric_difference(name26)
print('symmetric_difference:',name27)
name28 = {1,2,3,4,5,6}
name29 = {2,3,4}
name28.symmetric_difference_update(name29)
print('symmetric_difference_update:',name28)
name30 = {1,2,3,4,5,6}
name31 = {2,3,4}
name32 = name30.isdisjoint(name31)
print('isdisjoint:',name32)
name33 = {1,2,3,4,5,6}
name34 = {2,3,4}
name35 = name33.issubset(name34)
print('issubset:',name35)
name36 = {1,2,3,4,5,6}
name37 = {2,3,4}
name38 = name36.issuperset(name37)
print('issuperset:',name38)
Resultado de la salida:
Conjunto inicial: {1, 2, 3.3, ‘luatao’, ‘a’, ‘b’, ‘Luatao’}
añadir: {1, 2, 3.3, ‘luatao’, ‘ds’, ‘a’, ‘b’, ‘Luatao’}
claro: set()
copia: {1, 2, 3.3, ‘b’, ‘Lu Atao’, ‘luatao’, ‘a’}
diferencia: {1}
difference_update: {5, 6}
descarte: {1, 2, 3}
eliminar: {1, 2, 3}
Valor emergente: 1
pop: {2, 3, 4}
actualización: {1, 2, 3, 4, 5, ‘nihoa’, ‘hello’}
unión: {1, 2, 3, 4, ‘b’, ‘a’}
unión: {1, 2, 3, 4, ‘a’, ‘c’, ‘b’}
intersección: {1}
intersección: set()
intersection_update: {1}
intersection_update: {1}
symmetric_difference: {5, 6}
symmetric_difference_update: {1, 5, 6}
isdisjoint: Falso
issubset: Falso
issuperset: Verdadero
Después de comer, vine a escribir y trabajé más de una hora. Sudando profusamente, espero que valga la pena.
.