[Python] tipo de datos básicos-colección

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'}

Supongo que te gusta

Origin blog.csdn.net/Yocczy/article/details/132025700
Recomendado
Clasificación