1. Definición
Una colección es una colección desordenada de objetos, entre llaves { } y separados por comas.
Las colecciones son dinámicas , los elementos se pueden agregar o eliminar en cualquier momento.
Las colecciones son heterogéneas y pueden contener diferentes tipos de datos.
El único elemento del conjunto.
dos, crear
- Creado por llaves
- Creado por el constructor set()
- Creado mediante comprensión de conjuntos
# 大括号创建
st1 = {1, "2", True}
print(st1) # 输出:{1, "2"} 因为元素唯一,1和True重复
# 构造方法set()创建
st2 = set()
print(st2) # 输出:set()
st2 = set("good") # 字符串、元组、列表、集合、字典等均可
print(st2) # 输出:{'d', 'o', 'g'}
# 集合推导式创建
st3 = {i for i in range(0,4)}
print(st3) # 输出:{0, 1, 2, 3}
# 注意:不要单独使用{}创建空集合
st4 = {}
print(st4) # 输出:{}
print(type(st4)) # 输出:<class 'dict'>
3. Uso colectivo
detección de miembros
en: Comprueba si un elemento está en el conjunto. Si devuelve Verdadero, en caso contrario devuelve Falso.
no en: comprueba si una colección no contiene un elemento. Devuelve Verdadero si no, de lo contrario devuelve Falso.
st = {i for i in range(1,4)}
print(1 in st) # 输出:True
print(100 not in st) # 输出:True
4. Métodos comunes
1、añadir()
Agregar un solo objeto a una colección
Método de escritura: set.add(item)
Parámetro de entrada: elemento de objeto
retorno: Ninguno
st = {0, 1, 2, 3}
st.add(False)
st.add('good')
print(st.add(99)) # 输出:None
print(st) # 输出:{0, 1, 2, 3, 99, 'good'}
2、actualizar()
Agrega todos los elementos de un iterable a la colección.
Escritura: set.update(iterable)
Parámetro de entrada: objeto iterable iterable
retorno: Ninguno
st = {1}
st.update(('a', 'b', 'c'))
print(st.update("good")) # 输出:None
print(st) # 输出:{1, 'a', 'b', 'o', 'c', 'd', 'g'}
3、eliminar()
Eliminar el elemento especificado de la colección.
Escritura: set.remove(elemento)
Parámetro de entrada: elemento de elemento especificado
retorno: Ninguno
El elemento de destino ya debe existir; de lo contrario, se informará un KeyError
st = {1, 2, 3}
print(st.remove(2)) # 输出:None
print(st) # 输出:{1, 3}
st.remove(99)
print(st) # KeyError: 99
4、descartar()
Eliminar el elemento especificado de la colección.
Escritura: set.discard(elemento)
Parámetro de entrada: elemento de elemento especificado
retorno: Ninguno
No se informará ningún error si el elemento de destino no existe
st = {1, 2, 3}
print(st.discard(2)) # 输出:None
print(st) # 输出:{1, 3}
st.discard(99)
print(st) # 输出:{1, 3}
5、pop()
Elimina aleatoriamente un elemento de una colección.
Método de escritura: set.pop()
Parámetros de entrada: ninguno
Devuelve: el elemento eliminado
Genera un KeyError si la colección está vacía
st = {1, 2}
st.pop()
print(st) # 输出:{2} 或者 {1}
print(st.pop()) # 输出:被移除的 2 或者 1
print(st) # 输出:set()
st.pop() # KeyError: 'pop from an empty set'
6、claro()
Vaciar la colección, eliminando todos los elementos.
Parámetros de entrada: ninguno
retorno: Ninguno
st = {1, 2, 3, 'a', 'b'}
print(st.clear()) # 输出:None
print(st) # 输出:set()
5. Establecer operación
1. Operación de intersección
Método: intersección()
Operador: &
Escritura: set1.intersection(set2), set1 y set2
st1 = {1, 3, 2}
st2 = {5, 1, 4}
print(st1.intersection(st2)) # 输出:{1}
print(st1 & st2) # 输出:{1}
2. Funcionamiento sindical
Método: unión()
Operador: |
Escritura: set1.union(set2), set1 | set2
st1 = {1, 3, 2}
st2 = {5, 1, 4}
print(st1.union(st2)) # 输出:{1, 2, 3, 4, 5}
print(st1 | st2) # 输出:{1, 2, 3, 4, 5}
3. Operación de diferencia
Método: diferencia()
Operador: -
Escritura: set1.difference(set2), set1 - set2
st1 = {1, 3, 2}
st2 = {5, 1, 4}
print(st1.difference(st2)) # 输出:{2, 3}
print(st1 - st2) # 输出:{2, 3}
Seis, derivación de colección
La comprensión de conjuntos se refiere a la creación de colecciones en un bucle, similar a la comprensión de listas.
Escribiendo: [x para x en... si...]
# for循环创建集合
st1 = set()
for i in 'hello world':
if i in 'good':
st1.add(i)
print(st1) # 输出:{'d', 'o'}
# 集合推导式创建集合
st2 = {i for i in 'hello world' if i in 'good'}
print(st2) # 输出:{'d', 'o'}