详细介绍Python中的set集合
简介
set是Python的一种数据结构,类似于数学中的集合概念。set中可以存储多个元素,但每个元素必须是唯一的,即不能出现重复元素。
set是无序的,不能通过下标进行访问,但是可以遍历set中所有元素。
set可以进行交集、并集、差集等操作,是处理相同数据的好工具。
创建set
可以通过以下两种方式创建set:
直接创建
直接用大括号{}创建一个set,可以使用add()方法添加元素。
set1 = {1, 2, 3}
set1.add(4)
print(set1) # 输出 {1, 2, 3, 4}
使用set()函数
也可以使用set()函数将一个列表或元组转换为set。
list1 = [1, 2, 3]
set1 = set(list1)
print(set1) # 输出 {1, 2, 3}
tuple1 = (4, 5, 6)
set2 = set(tuple1)
print(set2) # 输出 {4, 5, 6}
set的基本操作
添加元素
使用add()方法可以向set中添加一个元素。
使用update()方法可以向set中添加多个元素。update()方法的参数可以是列表、元组、字符串等可迭代对象。
set1 = {1, 2, 3}
set1.add(4)
print(set1) # 输出 {1, 2, 3, 4}
set1.update([5, 6])
print(set1) # 输出 {1, 2, 3, 4, 5, 6}
删除元素
使用remove()方法可以删除set中的一个元素。
使用discard()方法也可以删除元素,如果元素不存在于set中,discard()方法不会报错,而remove()方法会报错。
set1 = {1, 2, 3}
set1.remove(2)
print(set1) # 输出 {1, 3}
set1.discard(4)
print(set1) # 输出 {1, 3}
set1.discard(2)
print(set1) # 输出 {1, 3}
查询元素
使用in操作符可以判断一个元素是否在set中。
set1 = {1, 2, 3}
print(2 in set1) # 输出 True
print(4 in set1) # 输出 False
遍历set
使用for循环可以遍历set。
set1 = {1, 2, 3}
for i in set1:
print(i)
set的操作
交集
使用&操作符(或者使用intersection()方法)可以得到两个set的交集。
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = set1 & set2
print(set3) # 输出 {2, 3}
set4 = set1.intersection(set2)
print(set4) # 输出 {2, 3}
并集
使用|操作符(或者使用union()方法)可以得到两个set的并集。
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = set1 | set2
print(set3) # 输出 {1, 2, 3, 4}
set4 = set1.union(set2)
print(set4) # 输出 {1, 2, 3, 4}
差集
使用-操作符(或者使用difference()方法)可以得到两个set的差集。
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = set1 - set2
print(set3) # 输出 {1}
set4 = set1.difference(set2)
print(set4) # 输出 {1}
示例说明
示例一
假设有两个列表list1和list2,需要找出它们的交集。可以将list1和list2转换为set,然后计算它们的交集。
list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
set1 = set(list1)
set2 = set(list2)
set3 = set1 & set2
print(set3) # 输出 {3, 4}
示例二
假设有一个列表list1,其中包含重复元素,需要将重复元素去掉。可以将list1转换为set,然后再转换回列表。
list1 = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
set1 = set(list1)
list2 = list(set1)
print(list2) # 输出 [1, 2, 3, 4]
以上就是关于Python中的set集合的详细介绍和使用示例。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详细介绍Python中的set集合 - Python技术站