Categorías
Python

Colección Python

                                                                                                  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

#Create collection directly
name0 = {1,2,3,'Hello there','luatao'}
print(name0)
#Use the constructor set() to create a collection
name1 = set() #Create empty collection
print(name1)
#Create a collection using a list
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

#Create collection directly
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.

#Create collection directly
name0 = {1,2,3,'Hello there','luatao'}

print('luatao' in name0)#true
print('luatao' not in name0)#false

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.

#Create collection directly
name0 = {1,2,3,'Hello there','luatao'}
print('Original collection:',name0)
#Add a single element
name0.add('luatao')#Elements exist without any operation
name0.add('nihao')#Element does not exist, join the collection
print('Current collection:',name0)
#Add multiple elements List, tuple, dictionary are all the same
name0.update((2,'ada'))#Add a tuple
print('Current collection:',name0)
name0.update((2,'ada'),(3,4,5))#Add two tuples
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

#Create collection directly
name0 = {1,2,3,'Hello there',2,3,'luatao'}
print('Original collection:',name0)

name0.remove('luatao')#Remove luatao does not exist, an error will occur
print('remove:',name0)

name1 = {1,2,3,'Hello there',2,3,'luatao'}
name1.discard('luatao')#Remove luatao does not exist, no error will occur
print('discard:',name1)

name2 = {1,2,3,'Hello there',2,3,'luatao'}
name2.pop()#Randomly remove an element from the set
print('pop:',name2)

name3 = {1,2,3,'Hello there',2,3,'luatao'}
name3.clear()#Delete all elements in the collection
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

#Create collection directly
name0 = {1,2,3,'a','b','c'}
name1 = {2,3,4,'b','c'}
print('Original collection name0:',name0)
print('Original collection name1:',name1)
#Intersection &
name3 = name0 & name1
print('Intersection:',name3)#name0 has it, name1 has it
#  |
name4 = name0 | name1
print('Union:',name4)#All elements
#Complement -
name5 = name0 - name1
print('Complement:',name5)#name0 has but name1 does not
#Symmetrical complement ^
name6 = name0 ^ name1
print('Symmetric complement:',name6)#name0 has but name1 does not have and name1 does not have name0 has
# >
#  <
print('Superset:',name0>name1)# Ture name0 is a superset of name1
print('Subset:',name0<name1)#false name0 is not a subset of name1

#Set equality ==
#Collection of unequal !=
print('equal:',name0 == name1)#false
print('Wait:',name0 != name1)#true

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()#Create an empty fixed collection
print(name0)
name1 = frozenset([1,2,3,4])#Use iterable objects to create a fixed collection
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') #Add a 5, if it already exists, do not execute
print('add:',name0)

name0.clear()#Empty elements
print('clear:',name0)

name1 = {1,2,'a','b,','luatao',3.3,'Lu Atao'}
name2 = name1.copy()#copy
print('copy:',name2)

name3 = {1,2,3}
name4 = {2,3,4}
print('difference:',name3.difference(name4))# name3-name4

name5 = {1,2,3,4,5,6}
name6 = {2,3,4,1}
name5.difference_update(name6)
print('difference_update:',name5)#Remove elements contained in both sets

name7 = {2,3,4,1}
name7.discard(4)#Delete 4
print('discard:',name7)#

name8 = {2,3,4,1}
name8.remove(4)#Delete 4
print('remove:',name8)#

name9 = {2,3,4,1}
x = name9.pop()#Randomly delete an element
print('The pop-up value:',x)
print('pop:',name9)#

name10 = {2,3,4,1}
name11 = ['nihoa','Hello there',3,4,5]
name10.update(name11)#Add name11 to name10
print('update:',name10)#

name12 = {1,2,'a'}
name13 = {1,3,4,'b'}
name14 = {3,4,'c'}
name15 = name12.union(name13)#Two sets merge
print('union:',name15)
name16 = name12.union(name13,name14)#Three sets merge
print('union:',name16)

name17 = {1,2,'a'}
name18 = {1,3,4,'b'}
name19 = {3,4,'c'}
name20 = name17.intersection(name18)#Two sets intersect
print('intersection:',name20)
name21 = name17.intersection(name18,name19)#Three sets of intersection
print('intersection:',name21)

name22 = {1,2,'a'}
name23 = {1,3,4,'b'}
name24 = {3,4,'c',1}
name22.intersection_update(name23)#Two sets intersect
print('intersection_update:',name22)
name22.intersection_update(name23,name24)#Three sets of intersection
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)#Remove elements contained in both sets

name28 = {1,2,3,4,5,6}
name29 = {2,3,4}
name28.symmetric_difference_update(name29)
print('symmetric_difference_update:',name28)#Remove the duplicate elements in the original set x and the y set, and insert the non-repeated elements into the set x:

name30 = {1,2,3,4,5,6}
name31 = {2,3,4}
name32 = name30.isdisjoint(name31)#Does not contain return true contains contains returns false
print('isdisjoint:',name32)#Judging whether there is an element in the set y that contains the set x:

name33 = {1,2,3,4,5,6}
name34 = {2,3,4}
name35 = name33.issubset(name34)#Both contain return true, otherwise return false
print('issubset:',name35)#Judge whether all elements of set x are included in set y:

name36 = {1,2,3,4,5,6}
name37 = {2,3,4}
name38 = name36.issuperset(name37)#Both contain return true, otherwise return false
print('issuperset:',name38)#Judge whether all elements of set y are included in set x:

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.

  Un compañero de clase que está flotando en el medio y la parte inferior de los alcances, vi estos 25 ejemplos, en realidad prueba suave!

.

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *