Python基础学习—字典

article/2023/6/4 16:33:13

一、什么是字典

1、字典是Python的一种常见数据结构,用于存储含有映射关系的数据。
2、字典通过key-value方式存储数据,key是字典中的关键词,可以根据字典中的关键词寻找value。
3、因为key是字典中的关键词,所以字典中key是唯一不可重复的。value可以存储任意的数据结构

二、字典的定义

# 1、python中可以试用{}定义字典
my_dict = {"name": "tim", "age": 18, "address": "广东省", "gender": "male"}# 2、空字典定义方式
my_empty_dict = dict()
# 空集合还可以使用{}方式定义
my_empty_dict = {}# 输出字典内容
print(f"my_dict的内容是:{my_dict},my_dict的数据类型是:{type(my_dict)}.")
print(f"my_empty_dict的内容是:{my_empty_dict},my_empty_dict的数据类型是:{type(my_empty_dict)}.")

输出内容:

my_dict的内容是:{‘name’: ‘tim’, ‘age’: 18, ‘address’: ‘广东省’, ‘gender’: ‘male’},my_dict的数据类型是:<class ‘dict’>.
my_empty_dict的内容是:{},my_empty_dict的数据类型是:<class ‘dict’>.

三、字典的基本操作

1、定义重复key的字典

# 定义两个重复的key (name)
my_dict = {"name": "tim", "age": 18, "address": "广东省", "gender": "male", "name": "jimmy"}print(f"字典my_dict的内容是:{my_dict},字典my_dict的数据类型是:{type(my_dict)}")

输出内容:

字典my_dict的内容是:{‘name’: ‘jimmy’, ‘age’: 18, ‘address’: ‘广东省’, ‘gender’: ‘male’},字典my_dict的数据类型是:<class ‘dict’>

重复的key,字典最终只会取最后一个key的值。

2、字典数据获取

# 获取字典value
my_dict = {"name": "tim", "age": 18, "address": "广东省", "gender": "male"}
# 获取字典中name的值
name=my_dict["name"]
print(f"name的值是:{name},name的类型是:{type(name)}")

输出内容:

name的值是:tim,name的类型是:<class ‘str’>

如果key在字典中不存在,则系统会提示异常。

3、定义嵌套字典

# 定义家庭成员字典
my_family = {"tim": {"name": "tim", "age": 18, "address": "广东省", "gender": "male"}, "jimmy": {"name": "jimmy", "age": 27, "address": "广东省", "gender": "male"}, "jenny": {"name": "jenny", "age": 27, "address": "广东省", "gender": "female"}
}
print(f"嵌套字典内容是:{my_family},嵌套字典类型是:{type(my_family)}")

输出内容:

嵌套字典内容是:{‘tim’: {‘name’: ‘tim’, ‘age’: 18, ‘address’: ‘广东省’, ‘gender’: ‘male’}, ‘jimmy’: {‘name’: ‘jimmy’, ‘age’: 27, ‘address’: ‘广东省’, ‘gender’: ‘male’}, ‘jenny’: {‘name’: ‘jenny’, ‘age’: 27, ‘address’: ‘广东省’, ‘gender’: ‘female’}},嵌套字典类型是:<class ‘dict’>

4、获取嵌套字典内容

# 定义家庭成员字典
my_family = {"tim": {"name": "tim", "age": 18, "address": "广东省", "gender": "male"}, "jimmy": {"name": "jimmy", "age": 27, "address": "广东省", "gender": "male"}, "jenny": {"name": "jenny", "age": 27, "address": "广东省", "gender": "female"}
}
tim_dict=my_family["tim"]
age=tim_dict["age"]
print(f"Tim的年龄是:{age}")

输出内容:

Tim的年龄是:18

5、新增字典元素

# 新增字典元素
my_dict = {"name": "tim", "age": 18, "address": "广东省", "gender": "male"}
my_dict["birth"] = "1994-03"
print(f"字典my_dict的内容是:{my_dict},字典my_dict的数据类型是:{type(my_dict)}")

输出内容:

print(f"字典my_dict的内容是:{my_dict},字典my_dict的数据类型是:{type(my_dict)}")

如果该key不存在于字典中,则新增新元素。

6、修改字典元素

# 修改字典元素
my_dict = {"name": "tim", "age": 18, "address": "广东省", "gender": "male"}
my_dict["address"] = "广东省中山市"
print(f"字典my_dict的内容是:{my_dict},字典my_dict的数据类型是:{type(my_dict)}")

输出内容:

字典my_dict的内容是:{‘name’: ‘tim’, ‘age’: 18, ‘address’: ‘广东省中山市’, ‘gender’: ‘male’},字典my_dict的数据类型是:<class ‘dict’>

如果该key存在于字典中,则会替换原字典中的值。

7、删除字典元素

# 修改字典元素
# 删除字典元素
my_dict = {"name": "tim", "age": 18, "address": "广东省", "gender": "male"}
my_dict.pop("address")
print(f"字典my_dict的内容是:{my_dict},字典my_dict的数据类型是:{type(my_dict)}")

输出内容:

print(f"字典my_dict的内容是:{my_dict},字典my_dict的数据类型是:{type(my_dict)}")

如果该key不存在于字典中,则移除元素时,程序会抛异常。

8、清除字典内容

my_dict = {"name": "tim", "age": 18, "address": "广东省", "gender": "male"}
my_dict.clear()
print(f"字典my_dict的内容是:{my_dict},字典my_dict的数据类型是:{type(my_dict)}")

输出内容:

字典my_dict的内容是:{},字典my_dict的数据类型是:<class ‘dict’>

9、获取字典的所有key

# 获取字典中的所有keys
my_dict = {"name": "tim", "age": 18, "address": "广东省", "gender": "male"}
keys=my_dict.keys()print(f"字典my_dict的所有keys是:{keys},数据类型是:{type(keys)}")

输出内容:

字典my_dict的所有keys是:dict_keys([‘name’, ‘age’, ‘address’, ‘gender’]),数据类型是:<class ‘dict_keys’>

10、字典遍历

# 字典遍历
my_dict = {"name": "tim", "age": 18, "address": "广东省", "gender": "male"}
keys=my_dict.keys()
# 方式一
for key in keys:print(f"key的值是:{key}")print(f"value的值是:{my_dict[key]}")# 方式二
for key in my_dict:print(f"key的值是:{key}")print(f"value的值是:{my_dict[key]}")

输出内容:

方式一:
key的值是:name
value的值是:tim
key的值是:age
value的值是:18
key的值是:address
value的值是:广东省
key的值是:gender
value的值是:male

方式二:
key的值是:name
value的值是:tim
key的值是:age
value的值是:18
key的值是:address
value的值是:广东省
key的值是:gender
value的值是:male

11、统计字典的元素数量

# 统计字典的元素数量
my_dict = {"name": "tim", "age": 18, "address": "广东省", "gender": "male"}
print(f"字典的元素数量是:{len(my_dict)}")

输出内容:

字典的元素数量是:4


https://www.dgrt.cn/a/300233.html

相关文章

提面优秀资格上岸浙大MBA经验分享

三百多天的备考&#xff0c;终于等来了一个好的结果。曾经的我也一直在犹豫到底要不要放弃对于浙大的执念&#xff0c;虽然说我的工作是还行&#xff0c;但是我的第一学历只是一个不入流的二本院校&#xff0c;当时咨询的老师说是对于浙大提面来说&#xff0c;我肯定是要吃学历…

Python+Yolov5人脸口罩识别

程序示例精选 PythonYolov5人脸口罩识别 如需安装运行环境或远程调试&#xff0c;见文章底部微信名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 Yolov5比较Yolov4,Yolov3等其他识别框架&#xff0c;速度快&#xff0c;代码结构简单&#xff0c;识别效率高&#xf…

指针进阶(3)--玩转指针

指针进阶 内容不多&#xff0c;但面面俱到&#xff0c;都是精华 1.回调函数&#xff1a; 2.详解qsort函数参数&#xff1a; 回调函数就是&#xff0c;把一个函数的地址&#xff0c;放在函数指针中&#xff0c;然后将该指针作为一个参数&#xff0c;传到 另一个函数中&#x…

oracle学习篇(二)

oracle学习篇(二) 1添加约束 1.1 添加主键约束 1.1.1 语法 alter table 表名 add constraint 约束名 约束关键字 key(添加约束的字段);1.1.2 示例代码 alter table infos add constraint pk_stuid primary key(stuid);1.2 添加检查约束 1.2.1 语法 alter table 表名 ad…

【技术应用】mybatis数据库操作(insert、update、delete)返回值为0的场景

【技术应用】mybatis数据库操作insert、update、delete返回值为0的场景一、前言二、数据库异常处理三、insert操作返回值为: 0四、update操作返回值为: 0五、delete操作返回值为: 0六、总结一、前言 最近在review项目组成员代码时&#xff0c;发现代码中有很多mybatis执行数据…

ffmpeg-AVBuffer、AVBufferRef、引用计数机制

目录 引用计数 定义 优点 AVBuffer AVBufferRef av_buffer_create av_buffer_ref av_buffer_unref 参考&#xff1a; 引用计数 定义 引用计数是一种内存管理的方式&#xff0c;当一份内存可能被多个对象使用&#xff0c;可以通过引用计数的方式实现内存复用。 优点 …

WSL_03 WSL2 从C盘迁移到D盘

文章目录1 动机1 查看虚拟机状态&#xff0c;并关闭要迁移的虚拟机2 迁移WSL22.1 出现的问题&#xff1a;已存在具有提供的名称的分发(已解决)3 设置启动时的默认用户&#xff0c;没有设置默认为root参考1 动机 WSL2默认安装在C盘中&#xff0c;win R运行中使用%localappdata…

vulnhub靶机:matrix:1

目录 查看靶机的ip 开放端口扫描 解密 字典生成爆破 ssh登录 rbash逃逸 下载地址&#xff1a;Matrix: 1 ~ VulnHub Kali地址&#xff1a;192.168.174.128 靶机地址&#xff1a;192.168.174.139 这个靶机是我在刷到的一个视频&#xff0c;讲解这个靶机的博主比较有趣&a…