当前位置: 首页 > news >正文

Python字典的用法(定义、增加、删除、修改、查询、遍历)

一.字典的介绍

        dictionary(字典)是除了列表以外的 Python 中最灵活的数据类型。dict(字典)可以采用多个数据,通常用于存储描述一个物体的相关信息。

        字典和列表最主要的区别是,字典是无序的对象集合,列表是有序的对象集合。

1.1 字典的语法规则

        字典用大括号“{ }”定义,列表用中括号“[ ]”定义,元组用小括号定义“()”。

        字典使用键值对存储数据,键值对之间使用逗号 “,”分隔。

  • 键 key 是索引,键必须是唯一的。键只能使用字符串,数字或元组,因为他们共性是不可变。
  • 值 value 是数据,值可以取任何数据类型。
  • 键 和 值之间使用冒号“:”分隔。

1.2 字典的书写形式

# 字典的常规写法
id_lmh = {"name":"lmh","age":22,"gender":"男","height":"172cm"
}# 定义空字典
# 第二个是通过类型转换的方法
dict1 = {}
dict2 = dict()# 显示为一行
id_one = { "name":"one","age":18}

          字典的键值对中的键写两次的话不会报错,会进行覆盖。如果多次的话以最后一次为主。

# 设置字典键重复
dict1 = {"name": "L","name": "M","name": "H"
}
print(dict1)"""
运行结果:
{'name': 'H'}
"""

二. 对字典进行修改

2.1 新增键值对

        如果字典中存在对应的键值对会进行修改,不存在则会进行新增。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}
id_lmh["age"] = 18print(id_lmh)"""
运行结果:
{'id': '0', 'name': 'L', 'age': 18}
"""

2.2 获取字典中的值。

        在字典中可以通过键值对获取对应的值。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}
print(id_lmh["name"])"""
运行结果:
L
"""

2.3 删除字典

        可以通过 del 函数删除字典,删除之后再引用会报错。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}del id_lmhprint(id_lmh["name"])"""
运行结果:
NameError: name 'id_lmh' is not defined
"""

2.4 键值对的存在

         键值对的存在问题只能按断键是否存在,不能够判断值是否存在。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}print("id" in id_lmh)
print("age" in id_lmh)
"""
运行结果:
True
False
"""

三. 字典的遍历

3.1 字典的普通遍历

         使用for...in...循环进行遍历。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}for i in id_lmh:print(i,id_lmh[i])"""
运行结果:
id 0
name L
"""

3.2字典的方法遍历

        方法 items 是将字典转为列表从而进行遍历。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}for key,value in id_lmh.items():print(key,value)"""
运行结果:
id 0
name L
"""

3.3 字典的方法遍历key

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}for key in id_lmh.keys():print(key)"""
运行结果:
id 
name 
"""

3.4 字典的方法遍历value

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}for value in id_lmh.values():print(value)"""
运行结果:
0
L
"""

3.5 pop删除方法

        pop方法中输入的是键。

# 设置默认字典
id_lmh = {"id":"0","name": "L",
}
id_lmh.pop("id")
print(id_lmh)"""
运行结果:
{'name': 'L'}
"""


http://www.mrgr.cn/news/78590.html

相关文章:

  • 软件设计模式复习
  • 51c自动驾驶~合集38
  • 《白帽子讲Web安全》15-16章
  • docker x86环境构建arm镜像出现failed to fetch oauth token问题
  • Windsurf可以上传图片开发UI了
  • elasticsearch集群部署及加密通讯
  • Spring中每次访问数据库都要创建SqlSession吗?
  • LearnOpenGL 学习(入门--三角形,着色器,纹理)
  • redis中的哨兵
  • ISO26262-基于TC397的MPU内存保护
  • mysql_题库详解
  • pyspark实现基于协同过滤的电影推荐系统
  • C底层 函数栈帧
  • Vuex —— Day1
  • 信创改造 - Redis -》TongRDS 安装方式之单节点模式安装
  • 哈希表算法题
  • 开发一套ERP 第八弹 RUst 插入数据
  • 《datawhale2411组队学习 模型压缩技术7:NNI剪枝》
  • 【Canvas与雷达】简约绿色扫描雷达图标
  • 【数据集划分】训练集train/验证集val/测试集test是如何划分的?
  • HarmonyOS NEXT应用开发,关于useNormalizedOHMUrl选项的坑
  • 51c自动驾驶~合集38
  • 随机变量的线性最小均方估计(LMMSE)——多个观测变量
  • 使用C#开发VTK笔记(一)-VTK开发环境搭建
  • 【数据库系统概论】第6章 (一)函数依赖和码
  • 3.26线性回归对率回归