Contenedor de datos para aprendizaje básico en Python: set (set)

Contenedor de datos: conjunto (colección)

Las listas se pueden modificar, admiten elementos repetidos y están ordenadas
. Las tuplas y cadenas no se pueden modificar, admiten elementos repetidos y están ordenadas.

La limitación es: todos admiten elementos repetidos .

La característica principal de una colección es que no admite la duplicación de elementos (tiene su propia función de deduplicación) y su contenido está desordenado .

Definición de conjunto

Sintaxis básica:

Defina una variable de colección: nombre de variable = {elemento, elemento, ..., elemento}
Defina una colección vacía: nombre de variable = set()

Básicamente las mismas definiciones que listas, tuplas, cadenas, etc.:

Uso de lista: []
Uso de tupla: ()
Uso de cadena: ""
Uso de conjunto: {}

Nota: Las colecciones se deduplican y desordenan automáticamente.

Ejemplo:

# 定义集合
my_set = {
    
    "my", "you", "ergou", "二狗", "ergou"}
my_set_empty = set()  # 定义空集合
print(f"my_set的内容是{
      
      my_set},类型是:{
      
      type(my_set)}")
print(f"my_set_empty的内容是{
      
      my_set_empty},类型是:{
      
      type(my_set_empty)}")

Resultado de la operación:
el contenido de my_set es {'ergou', 'you', 'ergou', 'my'}, el tipo es: <clase 'set'> El contenido de my_set_empty es set(), el tipo es:
< clase 'conjunto'>

Operaciones comunes sobre colecciones – modificación

Como los conjuntos están desordenados , el conjuntoNo se admite el acceso al índice de subíndices,
pero los conjuntos, como las listas, pueden modificarse , así que veamos cómo modificar conjuntos.

Agregar nuevo elemento

Sintaxis: colección.add(elemento). Agregue el elemento especificado a la colección.
Resultado: la colección en sí se modifica y se agregan nuevos elementos.

Eliminar elemento

Sintaxis: Collection.remove(elemento), elimina el elemento especificado de la colección.
Resultado: la colección en sí se modifica y el elemento se elimina.

Eliminar aleatoriamente elementos del conjunto.

Sintaxis: Set.pop(), función, elimina aleatoriamente un elemento del conjunto.
Resultado: obtendrá el resultado de un elemento. Al mismo tiempo se modifica la propia colección y se eliminan elementos.

Borrar colección

Sintaxis: collection.clear(), función, borra la colección
Resultado: la colección en sí se borra

Obtén la diferencia entre 2 sets.

Sintaxis: conjunto 1.diferencia (conjunto 2), función: eliminar la diferencia entre el conjunto 1 y el conjunto 2 (el conjunto 1 la tiene pero el conjunto 2 no) Resultado: obtener
un nuevo conjunto, el conjunto 1 y el conjunto 2 permanecen sin cambios

Eliminar la diferencia entre dos conjuntos.

Sintaxis: Conjunto 1.difference_update (conjunto 2)
Función: Compara el conjunto 1 y el conjunto 2. En el conjunto 1, elimina los mismos elementos que el conjunto 2.
Resultado: el conjunto 1 se modifica, el conjunto 2 permanece sin cambios

2 conjuntos fusionados

Sintaxis: Conjunto 1.union (conjunto 2)
Función: Combinar el conjunto 1 y el conjunto 2 en un nuevo conjunto
Resultado: Obtener un nuevo conjunto, el conjunto 1 y el conjunto 2 permanecen sin cambios

Ejemplo:

my_set = {
    
    "my", "you", "ergou", "二狗", "ergou"}
# 添加新元素
my_set.add("python")
my_set.add("学习")
print(f"my_set条件元素后的内容是{
      
      my_set}")

# 移除元素
my_set.remove("you")
print(f"my_set移除元素后的内容是{
      
      my_set}")

# 随机取出一个元素
my_set = {
    
    "my", "you", "ergou", "二狗", "ergou"}
element = my_set.pop()
print(f"my_set集合被随机取出的元素是:{
      
      element},取出元素后的内容是{
      
      my_set}")

# 清空集合,clear
my_set.clear()
print(f"my_set清空后的内容是{
      
      my_set}")

# 取2个集合的差集
set1 = {
    
    1, 2, 3}
set2 = {
    
    1, 5, 6}
set3 = set1.difference(set2)
print(f"取出差集后的结果是:{
      
      set3}")
print(f"取差集后,原有的set1的内容:{
      
      set1}")
print(f"取出差集后,原有的set2的内容:{
      
      set2}")

# 消除2个集合的差集
set1 = {
    
    1, 2, 3}
set2 = {
    
    1, 5, 6}
set1.difference_update(set2)
print(f"消除差集后,set1的内容:{
      
      set1}")
print(f"消除差集后,set2的内容:{
      
      set2}")

# 2个集合合并为1个
set1 = {
    
    1, 2, 3}
set2 = {
    
    1, 5, 6}
set3 = set1.union(set2)
print(f"2个集合合并后的结果是:{
      
      set3}")
print(f"合并后set1的内容:{
      
      set1}")
print(f"合并后set2的内容:{
      
      set2}")

resultado de la operación:

El contenido después del elemento condicional de my_set es {'python', 'ergou', 'you', 'my', 'ergou', 'learning'} El contenido de my_set después de eliminar el elemento es {'python', ' ergou'
, 'my', 'Ergou', 'Learning'}
El elemento extraído aleatoriamente del conjunto my_set es: ergou, y el contenido después de que se extrae el elemento es {'you', 'Ergou', 'my' } El contenido después de borrar my_set
es
El resultado después de que elimina el conjunto de diferencias es: {2, 3}
Después de tomar el conjunto de diferencias, el contenido original de set1: {1, 2, 3}
Después de tomar el conjunto de diferencias , el contenido original de set2: {1, 5, 6}
Después de eliminar el conjunto de diferencias, el contenido de set1: {2, 3}
Después de eliminar el conjunto de diferencias, el contenido de set2: {1, 5, 6}
El resultado después de fusionar los dos conjuntos es: {1, 2, 3, 5, 6}
El contenido de set1 después de fusionar: {1, 2, 3}
El contenido de set2 después de fusionar: {1, 5, 6}

Operaciones comunes en conjuntos: longitud del conjunto

Comprobar el número de elementos de una colección.

Sintaxis: len (conjunto)
Función: contar cuántos elementos hay en el conjunto
Resultado: obtener un resultado entero

Ejemplo:

# 统计集合元素数量len()
set1 = {
    
    1, 2, 3, 4, 5, 1, 2, 3, 4, 5}
num = len(set1)
print(f"集合内的元素数量有:{
      
      num}个")

resultado de la operación:

El número de elementos del conjunto es: 5.

Operaciones comunes en colecciones: recorrido de bucle for

Las colecciones también admiten el recorrido de bucles .
Nota: Las colecciones no admiten la indexación de subíndices , por lo que no se .

Ejemplo:

# 集合的遍历
# 集合不支持下标索引,不能用while循环
# 可以用for循环
set1 = {
    
    1, 2, 3, 4, 5}
for element in set1:
    print(f"集合的元素有:{
      
      element}")

Resultado de la operación:
Los elementos del conjunto son: 1
Los elementos del conjunto son: 2
Los elementos del conjunto son: 3
Los elementos del conjunto son: 4
Los elementos del conjunto son: 5

Resumen de funciones de colecciones de uso común.

número de serie funcionar ilustrar
1 colección.add(elemento) Agregar un elemento a la colección.
2 colección.eliminar(elemento) Elimina el elemento especificado de la colección.
3 colección.pop() Eliminar aleatoriamente un elemento del conjunto
4 dejar en claro() Limpiar la colección
5 Conjunto1.diferencia (conjunto2) Obtenga un nuevo conjunto, que contiene el conjunto diferencial de los dos conjuntos. El contenido de los dos conjuntos originales permanece sin cambios.
6 establecer 1.difference_update (conjunto 2) En el conjunto 1, se eliminan los elementos que existen en el conjunto 2, el conjunto 1 se modifica y el conjunto 2 permanece sin cambios.
7 Conjunto1.unión(conjunto2) Obtenga un nuevo conjunto que contenga todos los elementos de los dos conjuntos y el contenido de los dos conjuntos originales permanecerá sin cambios.
8 len (conjunto) Obtenga un número entero que registre el número de elementos en el conjunto

Características de la colección

1. Puede acomodar múltiples datos
2. Puede acomodar diferentes tipos de datos (mixtos)
3. Los datos sontrastornoAlmacenado (no se admite el índice de subíndice)
4.No se permite la duplicaciónLos datos existen
5. Se pueden modificar (agregando o eliminando elementos, etc.)
6. Admite bucles for pero no admite bucles while porque no se admiten índices de subíndice.

Ejercicio de recopilación: deduplicación de información

Lista existente: my_list = ['ergou', 'ergou', 'er', 'ergou', 'I', 'ergou']
Por favor:
① Defina una colección vacía
② Recorra la lista a través de un bucle for
③ En el bucle for Agregue los elementos de la lista a la colección
④ Finalmente obtenga el objeto de la colección después de deduplicar los elementos e imprímalo

my_list = ['二狗', 'ergou', 'er', 'ergou', '我', '二狗']
# 定义一个空集合
my_set = set()

# 通过for循环遍历列表
for element in my_list:
    # 在for循环中将列表的元素添加至集合
    my_set.add(element)

# 最终得到元素去重后的集合对象,并打印输出
print(f"列表的内容是:{
      
      my_list}")
print(f"通过for循环后,得到的集合对象是:{
      
      my_set}")

resultado de la operación:

El contenido de la lista es: ['ergou', 'ergou', 'er', 'ergou', 'I', 'ERGOU'] Después de pasar por el bucle for, el objeto de colección obtenido es: {'I', 'ERGOU
' perro', 'ergou', 'er'}

Supongo que te gusta

Origin blog.csdn.net/weixin_44996886/article/details/132678446
Recomendado
Clasificación