[Python] tipo de datos básico - diccionario

 1. Definición

Un diccionario es una colección desordenada de pares clave-valor.

Los diccionarios están entre llaves { }, cada par clave-valor está separado por una coma y cada clave y valor está separado por dos puntos

Los diccionarios son dinámicos , se pueden agregar o eliminar elementos en cualquier momento.

La clave en el diccionario no permite elementos repetidos y el valor permite elementos repetidos

dos, crear

  • Cree pares clave-valor rellenándolos entre llaves
  • Creado por el constructor dict()
  • Creado mediante comprensión de diccionario
# 大括号填充键值对
dc1 = {}
print(dc1)            # 输出:{}
dc1 = {'name': 'Andy', 'age': 18}
print(dc1)            # 输出:{'name': 'Andy', 'age': 18}

# 构造方法dict()创建
dc2 = dict()
print(dc2)            # 输出:{}
dc2 = dict(name = 'Andy', age = 18)    # 关键字参数赋值
print(dc2)            # 输出:{'name': 'Andy', 'age': 18}
dc2 = dict((('name', 'Andy'), ('age', 18)))     
print(dc2)            # 输出:{'name': 'Andy', 'age': 18}

# 字典推导式创建
dc3 = {k: v for k, v in {('name', 'Andy'), ('age', 18)}}
print(dc3)            # 输出:{'name': 'Andy', 'age': 18}

3. Uso del diccionario

1. Elementos operativos

Método de escritura: dict[clave] = valor

Agregue elemento si la clave no existe, modifique el elemento si la clave ya existe

dc = {'name': 'Andy', 'age': 18}
dc['age'] = 20
print(dc)            # 输出:{'name': 'Andy', 'age': 20}
dc['gender'] = 'male'
print(dc)            # 输出:{'name': 'Andy', 'age': 20, 'gender': 'male'}

2. Diccionario anidado

Los valores del diccionario pueden estar en formato de diccionario.

dc = {'name': 'Andy', 'age': 18, 'course': {'python': 90, 'java': 80}}
print(dc['course']['python'])        # 输出:90
dc['course']['java'] = 100
print(dc)    # 输出:{'name': 'Andy', 'age': 18, 'course': {'python': 90, 'java': 100}}

4. Método de diccionario 

1 、 teclas ()

Devuelve un nuevo objeto de vista que consta de las claves del diccionario.

Método de escritura: dict.keys()

Parámetros de entrada: ninguno

Devuelve: un nuevo objeto de vista que consta de las claves del diccionario.

dc = {'name': 'Andy', 'age': 18}
print(dc.keys())        # 输出:dict_keys(['name', 'age'])

# 遍历查看所有的键
for i in dc.keys():
    print(i)            # 输出:name
                        # 输出:age
# 将试图对象转化为列表
print(list(dc.keys()))  # 输出:['name', 'age']

2、valores()

Devuelve un nuevo objeto de vista que consta de valores de diccionario.

Método de escritura: dict.values()

Parámetros de entrada: ninguno

Devuelve: un nuevo objeto de vista que consta de valores de diccionario

dc = {'name': 'Andy', 'age': 18}
print(dc.values())        # 输出:dict_values(['Andy', 18])

# 遍历查看所有的键
for i in dc.values():
    print(i)              # 输出:'Andy'
                          # 输出:18
# 将试图对象转化为列表
print(list(dc.values()))  # 输出:['Andy', 18]

3 、 elementos ()

Devuelve un nuevo objeto de vista que consta de elementos del diccionario (pares clave-valor)

Método de escritura: dict.items()

Parámetros de entrada: ninguno

Devuelve: un nuevo objeto de vista que consta de elementos del diccionario (pares clave-valor)

dc = {'name': 'Andy', 'age': 18}
print(dc.items())        # 输出:dict_items([('name', 'Andy'), ('age', 18)])

# 遍历查看所有的键
for i in dc.items():
    print(i)              # 输出:('name', 'Andy')
                          # 输出:('age', 18)
# 将试图对象转化为列表
print(list(dc.items()))  # 输出:[('name', 'Andy'), ('age', 18)]

4、obtener()

Obtener el valor correspondiente a la clave especificada

Método de escritura: dict.get (clave)

Parámetro de entrada: la clave del diccionario

Retorno: si la clave existe en el diccionario, devuelve el valor correspondiente a la clave. Devuelve Ninguno si la clave no existe en el diccionario.

El elemento de destino no existe y no se generará KeyError

dc = {'name': 'Andy', 'age': 18}
print(dc.get('name'))            # 输出:Andy
print(dc.get('course'))          # 输出:None

5、actualizar()

Actualice el diccionario con los pares clave-valor de dict, sobrescribiendo la clave y el valor originales

Método de escritura: dict.update(dict)

Parámetro de entrada: diccionario de objeto de diccionario

retorno: Ninguno

dc = {'name': 'Andy', 'age': 18}
print(dc.update({'age': 20}))   # 输出:None
print(dc)                       # 输出:{'name': 'Andy', 'age': 20}
dc.update({'course':['python', 'java']})
print(dc)            # 输出:{'name': 'Andy', 'age': 20, 'course': ['python', 'java']}

6、pop()

Elimine el par clave-valor de la clave especificada y devuelva el valor correspondiente

Método de escritura: dict.pop (clave)

Parámetro de entrada: clave

Retorno: si la clave existe en el diccionario, devuelve el valor correspondiente a la clave

Genera KeyError si la clave no existe en el diccionario

dc = {'name': 'Andy', 'age': 18}
print(dc.pop('age'))    # 输出:18
print(dc)               # 输出:{'name': 'Andy'}
dc.pop('course')        # 输出:KeyError: 'course'

Cinco, derivación del diccionario 

Se puede construir un diccionario a partir de cualquier objeto iterable con pares clave-valor como elementos.

data = [('a', 1), ('b', 2), ('c', 3)]
# for循环创建字典
dc1 = {}
for k, v in data:
    if v > 1:
        dc1[k] = v ** 2
print(dc1)          # 输出:{'b': 4, 'c': 9}

# 字典推导式创建字典
dc2 = {k:v**2 for k, v in data if v > 1}
print(dc2)          # 输出:{'b': 4, 'c': 9}
# 无else时,if在for循环之后
data = {'a': 1, 'b': 2, 'c': 3}
# for循环创建字典
dc1 = {}
for k, v in data.items():
    if v > 2:
        dc1[k] = v ** 2
    else:
        dc1.update({k:v})
print(dc1)          # 输出:{'a': 1, 'b': 2, 'c': 9}

# 字典推导式创建字典
dc2 = {k:v**2 if v > 2 else v for k, v in data.items()}
print(dc2)          # 输出:{'a': 1, 'b': 2, 'c': 9}
# 有else时,if…else在for循环之前

Supongo que te gusta

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