python第五章---------集合\字典

本文介绍了Python编程中的两种重要数据结构——集合和字典。集合不包含重复元素,可用于去重,提供了添加、移除元素等操作。字典存储键值对,支持查找、增加、修改和删除元素,以及嵌套使用。文章还展示了如何进行集合的并集、差集运算及字典的遍历和统计元素数量。
摘要由CSDN通过智能技术生成

一、1.集合·:集合是一种容器,前面所学列表、字符串、元组有一定的局限性,如其中可以存放相同元素,而集合是不可以放相同元素的,具有一定的去重性

2.集合常见操作定义方式·

集合名 = {1,2,3,4}

空集合定义方式:

集合名 = set ( )

#集合
my_set = {1,2,3,4,5,6,7}
print(f"my_set内容:{my_set}")
#定义空集合
my_set1 = set()
print(f"my_set1内容:{my_set1}")
#添加元素
my_set.add("zhangsan")
print(f"my_set内容:{my_set}")
#移除元素
my_set.remove(1)
print(f"my_set内容:{my_set}")
#随机输出元素
elem = my_set.pop()
print(elem)#输出时即移除
print(f"my_set中内容{my_set}")
#清空集合
my_set = {1,2,3,4,5,6,7}
my_newset = my_set.clear()
print(my_newset)
"""
"""
#取两个集合的差集,difference
set1 = {1,2,3}
set2 = {1,5,6}
set3 = set1.difference(set2) #取出集合·1中有的集合二中没有的元素
print(set3)
"""

"""
set1 = {1,2,3}
set2 = {1,5,6}
set1.difference_update(set2) #删除集合1·中和集合二相同元素
print(set1)
print(set2)
"""
"""
#两个集合合并
set1 = {1,2,3}
set2 = {1,5,6}
set3 = set1.union(set2) #集合中无重复元素合并两个集合
print(set1)
print(set2)
print(set3)
"""
#统计集合中元素的数量
set1 = {1,2,3,4,5}
num = len (set1)
print(num)
#集合的遍历
set1 = {1,2,3,4,5}
for i in set1:
print(i)
#因为·集合中无下标,因此不可·用while循环·遍历

二、字典·

1.字典的定义:字典也是一类容器用于存放键值对类型

字典的定义方式:

字典名 = {key:value,key:value,key:value}

#字典的使用
#定义一个字典
my_dict = {"zhangsan":99,"wangwu":88,"liming":77,"cheng":66}
#定义空字典
dict1 = {}
dict2 = dict()
#打印字典
print(my_dict)
print(f"dict1的·内容为{dict1},类型为:{type(dict1)}")
print(f"dict2的·内容为{dict2},类型为:{type(dict2)}")

#在字典中·查找、字典中未定义下标,查找方式如下:
score= my_dict["zhangsan"]
print(f"zhangsan的成绩为:{score}")
#字典的嵌套使用
stu_name_score = {"zhangsan":{
"语文":99,
"数学":96,
"英语":86


},"lisi":{
"语文":79,
"数学":93,
"英语":91

},"wangwu":{
"语文":77,
"数学":75,
"英语":86
}}
#嵌套字典的·访问
score = stu_name_score ["zhangsan"]["英语"]#访问zhangsan的英语成绩
print(f"zhangsan的英语成绩为:{score}")

#字典的常用操作
#增加元素

my_dict = {"zhangsan":99,"lisi":66,"wangwu":77}
my_dict["chengyi"]=88
print(f"增加元素后的字典为:{my_dict}")
#修改字典
my_dict["zhangsan"]= 100
print(f"修改后的字典为:{my_dict}")
#删除元素
my_dict.pop("lisi")
print(f"删除后·的·字典为:{my_dict}")
#清空字典
my_dict1 = {"zhangsan":99,"lisi":66,"wangwu":77}
my_dict1.clear()
print(f"清空后的字典为:{my_dict1}")
#取出字典中的key值
keys = my_dict.keys()
print(f"字典中的key值为{keys}")
#遍历字典
for i in keys:
print(f"字典中的值分别为:{my_dict[i]}")
#另一种方法
for key in my_dict:
print(f"字典中的值分别为:{my_dict[key]}")
#统计字典内·的元素个数
num = len(my_dict)
print(f"字典中元素的个数为{num}")

#综合示例:

 代码:

#示例
my_dict = {"王力宏":{
"部门":"科技部",
"工资":3000,
"级别":1
},"周杰伦":{
"部门": "市场部",
"工资": 5000,
"级别": 2
},"林俊杰":{
"部门": "市场部",
"工资": 7000,
"级别": 3
},"张学友":{
"部门": "科技部",
"工资": 4000,
"级别": 1
},"刘德华":{
"部门": "市场部",
"工资": 6000,
"级别": 2
}}
print(f"修改之前{my_dict}")
for i in my_dict:
if my_dict[i]["级别"] == 1:
my_dict[i]["级别"] += 1
my_dict[i]["工资"] += 1000
print(f"修改之后{my_dict}")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值