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循环之前