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()

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

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

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

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

4.注意:

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

 5.set支持的方法:

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

        •for x in set 集合的遍历

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

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

        •set.clear() 清空set

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小周不想卷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值