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

十九、Python基础语法(字典(dict))

字典(dict):字典是由键(key)值(value)对组成,表现形式{键: 值, 键: 值, ....},字典的键值对之间用逗号(英文)隔开,一个键值对表示一个数据,键一般是字符串也可以是数字,字典的值可以是任意的类型,在一个字典中,键是不能重复的,注意,字典是没有下标的。

一、定义

类的实例化dict()定义

# 类的实例化dict()定义
my_dict = dict()
print(my_dict, type(my_dict))  # {} <class 'dict'>
# 类型转换
my_dict2 = dict([('name', 'Tom'), ('age', '25')])
print(my_dict2, type(my_dict2))  # {'name': 'Tom', 'age': '25'} <class 'dict'>

直接使用{}定义 

my_dict = {}
print(my_dict, type(my_dict))  # {} <class 'dict'>
my_dict2 = {'name': 'Tom', 'age': '25'}
print(my_dict2, type(my_dict2))  # {'name': 'Tom', 'age': '25'} <class 'dict'>

补充可以通过len(dict)获取字典长度

my_dict = {'name': 'Tom', 'age': '25'}
print(len(my_dict))  # 2

二、字典的增删改

注意:字典中是没有下标的,如果需要修改可以通过键(key)去修改数据,如果键存在就是修改数据,如果键不存在,就是添加数据。字典是通过pop(键)删除的

1.改

my_dict = {'name': 'Tom', 'age': '25'}
# 修改
my_dict['name'] = 'Layne'
print(my_dict)  # {'name': 'Layne', 'age': '25'}

2.增

my_dict = {'name': 'Tom', 'age': '25'}
# 增加
my_dict['name2'] = 'Layne'
print(my_dict)  # {'name': 'Tom', 'age': '25', 'name2': 'Layne'}

3.删

my_dict = {'name': 'Tom', 'age': '25'}
# 删除
my_dict.pop('name')
print(my_dict)  # {'age': '25'}

三、字典的查询

1.直接通过‘字典['键']’,键存在,获取对应值,键不存在,代码报错

my_dict = {'name': 'Tom', 'age': '25'}
name = my_dict['name']
print(name)  # Tom

2.通过‘字典.get('键')’,键存在,获取对应值,键不存在,返回None

my_dict = {'name': 'Tom', 'age': '25'}
name = my_dict.get('name')
name1 = my_dict.get('name1')
print(name)  # Tom
print(name1)  # None

四、字典的遍历

字典是由键值对组成,字典的遍历有三种

1. 遍历字典的键(key)

# 遍历字典的键(key)
my_dict = {'name': 'Tom', 'age': '25'}
# 方式一
for i in my_dict:
    print(i)
print('*' * 20)
# 方式二
for i in my_dict.keys():
    print(i)

运行结果:

2. 遍历字典的值(value)

# 遍历字典的值
my_dict = {'name': 'Tom', 'age': '25'}
# 方式一
for i in my_dict.values():
    print(i)

3. 遍历字典的(key)和值(value)

# 遍历字典的键(key)和值(value)
my_dict = {'name': 'Tom', 'age': '25'}

for i, n in my_dict.items():
    print(i, n)


http://www.kler.cn/news/362077.html

相关文章:

  • js 基础补充3
  • spring boot 集成 dynamic-datasource-spring-boot-starter
  • 大数据治理:构建新时代数据生态的关键
  • css刮刮卡效果(附源码!!!)
  • el-table在某些条件下禁止选中
  • 渗透测试 工具OneForAll
  • Tftpd.exe源代码分析----TftpdIoPostReceiveBuffer函数分析
  • 10月22日,每日信息差
  • 基础学习-centos修改本地语言
  • 【C++】vector(1)
  • Linux中文件的读写过程
  • 制造企业数字化转型顶层规划案例(55页满分PPT)
  • Vue学习笔记(四、v-bind指令)
  • 复旦大学全球供应链研究中心揭牌,合合信息共话大数据赋能
  • VMware通过Vcenter升级Esxi
  • 人工智能技术的应用与未来展望
  • 电子电气架构---中央/准中央+区域架构已成为OEM主机厂降本利器
  • 059_基于python智能文献管理系统
  • MySQL 创新版9.1.0有哪些功能?
  • 摩熵数科数据产品阵容BCPM
  • docker 微服务实践
  • springboot jackson 数据脱敏
  • json键值对组成的数组去重。
  • 13.3 Linux_网络编程_多路复用I/O接入多客户端
  • 【C语言】一维数组的定义与初始化
  • 设计模式:类与类之间关系的表示方式(聚合,组合,依赖,继承,实现)