当我们在Python中声明一个变量时,会创建一个存储该变量的内存空间。操作系统根据变量编写类型和分配空间来保留这段内存空间。有时,我们需要改变变量值,即改变内存中的存储值。这是通过set方法实现的。
1. set的含义和用法
set是Python内置的数据类型之一,它是一个无序可变的集合(set)。它由一组互不相同的元素组成,没有重复项。
在Python中,可以使用两种方式来创建 set:
- 使用大括号 {}
- 使用set()函数
以下是创建set的两种方式的示例:
# 使用大括号创建 set
my_set = {1, 2, 3, 4}
print(my_set) # 输出:{1, 2, 3, 4}
# 使用 set() 函数创建 set
my_set = set([1, 2, 3, 4, 4])
print(my_set) # 输出:{1, 2, 3, 4}
可以看到,set中没有重复的元素。
set对象有一些与之相关的常见操作,如下表所示:
操作 | 结果 |
---|---|
x.add(item) | 向set中添加一个新的元素 |
x.update(iterable) | 在set中添加一个新的集合 |
x.remove(item) | 从set中删除一个元素 |
x.discard(item) | 从set中删除一个元素,如果元素不存在则不报错 |
x.pop() | 从set中随机删除一个元素,并返回该元素 |
x.clear() | 删除set中的所有元素 |
x.copy() | 返回set的一个浅拷贝 |
2. 示例说明
以下示例说明如何使用set进行去重并计算集合间的差异。
示例1:去重
通过使用set数据类型,我们可以将列表或元组去重并创建一个新的集合,以便更轻松地处理重复项。以下示例说明如何使用set进行去重。
my_list = [1, 2, 3, 1, 4, 2, 5]
print("去重前的列表:", my_list)
# 使用 set 进行列表去重
my_set = set(my_list)
print("去重后的集合:", my_set)
输出:
去重前的列表: [1, 2, 3, 1, 4, 2, 5]
去重后的集合: {1, 2, 3, 4, 5}
示例2:计算集合间的差异
我们还可以使用set计算两个集合之间的差异。例如,我们可以比较两个班级的学生,找到没有交集的学生名单。
class_1 = {"张三", "李四", "王二", "麻子"}
class_2 = {"马云", "张三", "董明珠", "李嘉诚"}
# 获取 class_1 中独有的元素
exclusives_1 = class_1.difference(class_2)
print("独有学生名单:", exclusives_1)
# 获取 class_2 中独有的元素
exclusives_2 = class_2.difference(class_1)
print("独有学生名单:", exclusives_2)
输出:
独有学生名单: {'王二', '麻子', '李四'}
独有学生名单: {'董明珠', '李嘉诚', '马云'}
在这个例子中,我们使用了 difference()
方法找到班级之间的差异,并将其存储为一个新set。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:set在python里的含义和用法 - Python技术站