diccionario
1. ¿Qué es un objeto de diccionario?
- El diccionario es otro modelo de contenedor variable y puede almacenar cualquier tipo de objeto.
- Cada par clave-valor clave => valor del diccionario está separado por dos puntos :, y cada par clave-valor está separado por una coma. El diccionario completo está entre llaves {}, el formato es el siguiente:
- Los tipos de clave deben ser los mismos, como cadena, int, etc.
- El tipo de valor puede no ser único
2. Crea un objeto de diccionario
# coding=utf-8
## 字典类型的创建
## 使用花括号来创建
dict01={
'name':'张三','age':18,'score':98.5}
print(dict01)
## 通过函数dict来创建
## dict使用list,元组的方式来创建
dict02=dict([('name','张三'),('age',18),('score',99.8)])
print(dict02)
## 通过fromkey函数来创建只有key的dict对象
dict03=dict.fromkeys(['name','age','score'])
print(dict03)
resultado
{
'name': '张三', 'age': 18, 'score': 98.5}
{
'name': '张三', 'age': 18, 'score': 99.8}
{
'name': None, 'age': None, 'score': None}
3. Obtenga el contenido en el dict
3.1 A modo de [clave]
dictObject={
'name':'张三','age':19,'score':99.6}
print(dictObject['name']) # 结果为张三
print(dictObject['sex']) # 没有sex这个键,抛出异常
Obtenga el valor de esta manera, si la clave actual no existe, informe directamente una excepción
3.2 A través de la función get () (recomendado)
Use la función get para obtener, si la clave actual no existe, solo se devolverá el valor None, no se lanzará ninguna excepción o podemos establecer el valor predeterminado para que regrese
## 通过get()函数获取
dictObject={
'name':'张三','age':19,'score':99.6}
print(dictObject.get('name')) # 结果为“张三”
# 设置默认值,如果没有则返回默认值
print(dictObject.get('sex','null'))
4. Agregar, modificar, eliminar elementos
4.1 Agregar
Si el elemento agregado tiene el mismo nombre de clave que un elemento en el diccionario, se sobrescribirá el par clave-valor anterior
>>> a={
"name":"张三",'age':18,'score':99.9}
>>> a['sex']='男'
>>> a
{
'name': '张三', 'age': 18, 'score': 99.9, 'sex': '男'}
4.2 Modificación
Solo sobrescribe los elementos antiguos
>>> a={
"name":"张三",'age':18,'score':99.9}
>>> a['name']='李四'
>>> a
{
'name': '李四', 'age': 18, 'score': 99.9}
>>>
4.3 actualizar
El objeto de diccionario proporciona un método de actualización que puede aceptar un tipo de diccionario para actualizar el objeto de diccionario actual.
Los mismos elementos se cubren directamente y los nuevos elementos se agregan directamente
>>> b={
'name':'张三','sex':'男'}
>>> a={
'score':99,'name':'李四'}
>>> a.update(b)
>>> a
{
'score': 99, 'name': '张三', 'sex': '男'}
>>>
4.4 Eliminar elementos
Eliminar elemento especificado
La función emergente elimina el par clave-valor representado por la clave especificada y devuelve el contenido del valor
>>> a={
'name':'张三','age':18,'sex':'男'}
>>> a
{
'name': '张三', 'age': 18, 'sex': '男'}
>>> a.pop('name')
'张三'
>>> a
{
'age': 18, 'sex': '男'}
Eliminar todos los elementos
La función de borrar borrará todos los objetos del diccionario.
>>> a={
"name":"张三",'age':18,'score':99.9}
>>> a
{
'name': '张三', 'age': 18, 'score': 99.9}
>>> a.clear()
>>> a
{
}
>>>
función popitem ()
Elimina aleatoriamente un par clave-valor en un diccionario y devuelve el par clave-valor.
Debido a que un diccionario es diferente de un conjunto, el diccionario está desordenado y no tiene un primer elemento. Se usa para eliminar elementos del diccionario fuera de orden.
>>> a={
"name":"张三",'age':18,'score':99.9}
>>> a
{
'name': '张三', 'age': 18, 'score': 99.9}
>>> a.popitem()
('score', 99.9)
>>> a
{
'name': '张三', 'age': 18}
>>> a.popitem()
('age', 18)
>>> a
{
'name': '张三'}
>>>
5. Secuencia de desembalaje
dict01={
'name':'Daiv',
'age':18,
'sex':'男',
'score':99.8
}
# 默认以解包的方式获取所有的键
a,b,c,d=dict01
print(a,end='\t')
print(b,end='\t')
print(c,end='\t')
print(d,end='\t')
print()
# 获取键
a,b,c,d=dict01.keys()
print(a,end='\t')
print(b,end='\t')
print(c,end='\t')
print(d,end='\t')
print()
# 获取值
a,b,c,d=dict01.values()
print(a,end='\t')
print(b,end='\t')
print(c,end='\t')
print(d,end='\t')
print()
# 获取键值对对象
a,b,c,d=dict01.items()
print(a,end='\t')
print(b,end='\t')
print(c,end='\t')
print(d,end='\t')
print()
resultado
name age sex score
name age sex score
Daiv 18 男 99.8
('name', 'Daiv') ('age', 18) ('sex', '男') ('score', 99.8)