python基础知识--字典与集合

简介: python基础知识--字典与集合

 (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录

一、字典

1.字典的定义

2.字典与列表的关系

3.获取数据

4.给字典添加键值对

5.遍历字典

6.字典的嵌套

二、集合


一、字典

1.字典的定义

字典 dict 是一种 KEY : VALUE 的数据结构,可以根据 KEY 设置和获取对应的 VALUE

语法: dict = {key1:value1, key2:value2}

举例 : d = {"id":123, " name":"liming " }

创建空列表: d = {}

2.字典与列表的关系

列表用顺序数字做索引,字典用 Key 做索引,相当于给每个元素进行了命名( "3 号学生 " 和 " xm 同学 " 的区别)

如果有一个数据列表: [(11, A), (12, B), (13, C)] ,要在其中查找 B 这个条目,需要遍历列表查找;

如果使用字典 {A:11, B:12, C:13} ,直接使用 get(B) 取出, 字典具有超级快的按 KEY 查找速度 ;

3.获取数据

user = {"id":123, "name":"liming", "age":20}
print(user["id"])
print(user["name"])
print(user["age"])

123

liming

20

#如果key不存在就报错,比如:
print(user["grade"])

KeyError: 'grade'

4.给字典添加键值对

user["grade"]=80

如果"grade"这个key不存在,就新增一个键值对

如果"grade"这个key已经存在,就修改"grade"对应的值

user = {"id":123, "name":"liming", "age":20}
print(user["id"])
print(user["name"])
print(user["age"])
user["grade"] = 80
print(user["grade"])

123

liming

20

80

5.遍历字典

以下三个方法常常用于字典的遍历:

1. dict.items() 以列表返回可遍历的(, ) 元组数组,常常用于for遍历

user = {"id":123, "name":"liming", "age":20}
user["grade"] = 80
print(user["grade"])
#同时遍历键值对
for a,b in user.items():
    print(a,b)

id 123

name liming

age 20

grade 80

2. dict.keys() 以列表返回字典所有的键

user = {"id":123, "name":"liming", "age":20}
user["grade"] = 80
print(user["grade"])
#只遍历键列表
for a in user.keys():
    print(a)

id

name

age

grade

3. dict.values() 以列表返回字典的所有的值

user = {"id":123, "name":"liming", "age":20}
user["grade"] = 80
print(user["grade"])
#只遍历值列表
for a in user.values():
    print(a)

123

liming

20

80

6.字典的嵌套

1.列表的元素是字典

#列表的元素是字典
students=[
    {"id":101,"name":"xiaozhang","grade":88},
    {"id":102,"name":"xiaowang","grade":77},
    {"id":103,"name":"xiaoli","grade":66},
    {"id":104,"name":"xiaozhao","grade":55}
]
for student in students:
    id,name,grade = student["id"],student["name"],student["grade"]
    print(f"学号为{id}的姓名是{name},成绩是{grade}")

学号为101的姓名是xiaozhang,成绩是88

学号为102的姓名是xiaowang,成绩是77

学号为103的姓名是xiaoli,成绩是66

学号为104的姓名是xiaozhao,成绩是55

2. 字典的value是列表

students = {
     "xiaozhang":["足球"],
     "xiaowang":["篮球"]
}
for student,likes in students.items():
    print(f"学生{student},爱好{likes}")

学生xiaozhang,爱好['足球']

学生xiaowang,爱好['篮球']

3. 字典的value是字典

students = {
     "xiaozhang":{"id":101,"grade":88},
     "xiaowang":{"id":102,"grade":77}
}
for name,info in students.items():
    id,grade = info["id"],info["grade"]
    print(f"姓名为{name},学号为{id},成绩是{grade}")

姓名为xiaozhang,学号为101,成绩是88

姓名为xiaowang,学号为102,成绩是77

二、集合

1.定义:

集合 set 是一组 无序 并且 没有重复元素 的 KEY 集合

set 跟 dict 的 key 类似,区别在于 set 没有 value

KEY 无序,所以 set 不支持数字索引和切片 ( dict 也不支持 )

2.使用场景:

使用场景 1 :判断某个元素是否在集合 set 中( set 比 list 速度快);

使用场景2:消除输入数据的重复元素;

3.创建方式:

       创建一个空集合:s = set()

       创建一个初始化集合方法1:s = {1,2,2,3}

       创建一个初始化集合方法2:s = set([1,2,2,3])

       这里的参数可以是列表、元组、字符串

       创建空集合不能用s = {},因为这创建了dict字典

4.注意:

       和dict一样,set的key只能是数字、字符串、元组等不可变对象,不能是列表等可变对象

5.set支持的方法:

       •len(set) 集合的元素个数

       •for x in set 集合的遍历

       •set.add(key) 新增一个KEY,如果有重复会自动去重

       •set.remove(key) 删除一个KEY

       •set.clear() 清空set

       •x in set 判断元素是否在set集合中              

相关文章
|
3月前
|
安全 网络安全 文件存储
思科设备巡检命令Python脚本大集合
【10月更文挑战第18天】
103 1
思科设备巡检命令Python脚本大集合
|
3天前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
16 2
|
2月前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
20 1
|
3月前
|
存储 缓存 API
解密 Python 集合的实现原理
解密 Python 集合的实现原理
58 11
|
3月前
|
存储 自然语言处理 数据处理
使用Python计算多个集合的交集详解
使用Python计算多个集合的交集详解
78 1
|
3月前
|
存储 Java Serverless
【Python】字典
【Python】字典
40 1
|
4月前
|
存储 API 索引
Python 的集合是怎么实现的?
Python 的集合是怎么实现的?
60 9
|
3月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
50 0
|
3月前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
38 0
|
3月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
38 0