目录
前言
事情总会好起来的,没有更坏就是在好起来
一、集合
集合的特性是存储一组无序不重复的元素。所以不能被索引所应用,一般工作都是提供查找
在python里面使用花括号{}来创建,元素之间用逗号,隔开
#创建集合
one_set={1,2,3,4}
也可以调用set()函数直接创建集合或者强制转化列表
#创建空集合
one_set1=set()
#强制转化集合
my_list=[1,2,3]
two_set2=set(my_list)
要确定一个特定元素是否存在于集合内,可以使用in操作符进行检查。
set1 = {"Tom", "Jerry", "Spike"}
# 判断元素是否在集合中
if "Tom" in my_set:
# 集合用于存储一组不重复的元素,可以自动去重
my_list = [1, 2, 3, 3, 4, 5, 5]
my_set = set(my_list) # 将列表转换为集合,去除重复元素
unique_list = list(my_set) # 将集合转换回列表, 此时列表是[1,2,3,4,5]
集合还支持求并集、交集、差集。
set1 = {1, 2, 3}
set2 = {3, 4, 5}
u_set = set1 | set2 # 并集,现在集合是{1, 2, 3, 4, 5}
i_set = set1 & set2 # 交集, 现在集合是 {3}
d_set = set1 - set2 # 差集, 表示存在于集合1中,但不存在于集合2中的元素,{1, 2}
二、集合的常用方法
- 要向集合中加入新元素,可以调用add()函数。
# 创建集合
set1 = {1, 2, 3}
# 向集合添加元素
set1.add(4)
- 若要删除集合中的特定元素,可以使用remove()或discard()方法;两者差异在于,如果尝试删除一个不存在的元素,remove()会抛出错误,而discard()则不会。
# 移除集合元素
set1.remove(3)
set1.discard(3)
- 要了解集合包含多少元素,可以利用len()函数来获取其大小。
# 获取集合长度
print(len(set1))
- 若需将集合内所有元素移除,可以执行clear()操作。
# 清空集合中的元素
set1.clear()
- 要逐个查看集合中的每个元素,可以通过for循环进行遍历。
# 遍历集合
for element in set1:
print(element)
三、map的介绍
通常我们所说的映射(map),是一种数据结构,它允许我们将一个特定的元素(称为键key)与另一个相关联的元素(称为值value)配对。这就像是一个字典,其中每个条目都有一个唯一的标识(键)和与之相关联的信息(值)。例如,可以将学生的姓名作为键,而对应的成绩则作为值。在映射中,每个键都是独一无二的,并且与一个特定的值相对应,这保证了信息的精确匹配,就像每把钥匙只能打开对应的锁一样。
例如,可以想象一个列表,左边列出的是学生的名字(作为键),而他们的成绩(作为值)则与各自的名字对应。
在python里,用字典这个数据结构来实现映射,字典在编程中通常用大括号{}来表示,其中的每个条目由一个键和一个值组成,键和值之间用冒号:来分隔。不同的条目之间则通过逗号,来连接。其结构可以描述为:大括号内包含一系列由冒号分隔的键值对,每个键值对之间用逗号隔开。
dict1 = {
"mike", 1,
"tom": 2,
"spike": 3
}
字典中的键数据类型必须是不可变的(字符串、数字、元组等), 但是值可以是任意的数据类型。
注意:如果直接创建一个
{}
, 表示这是一个空字典,而并非一个空集合。
另外,可以通过调用内置的dict()函数来生成一个新的字典。当你需要在字典中新增一个键值对时,可以直接采用赋值的方式,即指定字典的键(后面跟着等号和值),如:dict[key] = value。
# 创建一个空字典
my_dict = dict()
#my_dict={}
# 添加键值对
my_dict["mike"] = 1
my_dict["tom"] = 2
my_dict["jerry"] = 3
# 更新值
my_dict["mike"] = 3
# 访问值
print(my_dict["mike"]) # 100
四、字典的基础操作
- 删除字典中的键值对可以使用
del()
或者clear()
方法
del my_dict["Tom"] # 删除对应的键值对
my_dict.clear() # 清空字典
del my_dict # 删除字典
- 要验证字典中是否包含某个特定的键,可以利用in关键字进行判断。如果该键确实存在于字典的键集合中,操作将返回真(True);如果不存在,则返回假(False)。
if "Tom" in my_dict:
print(my_dict["Tom"])
else:
print("Tom doesn't exist in the dictionary")
- 要遍历字典中的所有条目,可以使用for循环结合dict对象的items()方法。这个方法会提供一个包含字典所有键值对的视图。这个视图允许你遍历字典,查看每一对键和值。简而言之,通过for循环遍历items()返回的视图,可以依次访问字典中的每个键值对。
for key, value in my_dict.items():
print(f"Key: {key}, Value: {value}")
- 还可以使用
dict.keys()
和dict.values()
获取字典的所有键的视图对象和所有值的视图对象,视图对象可以通过list()
转为列表。
# 创建一个空字典
#my_dict = dict()
my_dict={}
# 添加键值对
my_dict["mike"] = 1
my_dict["tom"] = 2
my_dict["jerry"] = 3
# 更新值
my_dict["mike"] = 3
# 访问值
#print(my_dict["mike"]) # 100
print(dict.keys(my_dict))
print(dict.values(my_dict))
print(list(my_dict))
总结
本次对集合和字典进行介绍