千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > python中set的用法

python中set的用法

来源:千锋教育
发布人:xqq
时间: 2023-11-17 05:24:25 1700169865

Python中的set是一种无序且不重复的数据类型,可以用来存储多个元素,常用于去重或者判断某个元素是否存在。set可以使用大括号{}或者set()函数来创建,元素之间用逗号隔开。

例如,创建一个包含1、2、3的set:

`python

my_set = {1, 2, 3}


或者使用set()函数:
`python
my_set = set([1, 2, 3])

set的主要特点是元素不重复,如果重复添加相同的元素,set只会保留一个。例如:

`python

my_set = {1, 2, 3, 3, 2, 1}

print(my_set) # 输出{1, 2, 3}


set还支持一些常用的集合操作,例如并集、交集、差集等。下面是一些常用的set操作:
## 1. 并集
并集是指两个集合中所有元素的集合。可以使用union()方法或者|运算符来实现。例如:
`python
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# 使用union()方法
set3 = set1.union(set2)
print(set3)  # 输出{1, 2, 3, 4, 5}
# 使用|运算符
set4 = set1 | set2
print(set4)  # 输出{1, 2, 3, 4, 5}

## 2. 交集

交集是指两个集合同的元素的集合。可以使用intersection()方法或者&运算符来实现。例如:

`python

set1 = {1, 2, 3}

set2 = {3, 4, 5}

# 使用intersection()方法

set3 = set1.intersection(set2)

print(set3) # 输出{3}

# 使用&运算符

set4 = set1 & set2

print(set4) # 输出{3}


## 3. 差集
差集是指一个集合中不包含另一个集合中的元素的集合。可以使用difference()方法或者-运算符来实现。例如:
`python
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# 使用difference()方法
set3 = set1.difference(set2)
print(set3)  # 输出{1, 2}
# 使用-运算符
set4 = set1 - set2
print(set4)  # 输出{1, 2}

## 4. 对称差集

对称差集是指两个集合中不相同的元素的集合。可以使用symmetric_difference()方法或者^运算符来实现。例如:

`python

set1 = {1, 2, 3}

set2 = {3, 4, 5}

# 使用symmetric_difference()方法

set3 = set1.symmetric_difference(set2)

print(set3) # 输出{1, 2, 4, 5}

# 使用^运算符

set4 = set1 ^ set2

print(set4) # 输出{1, 2, 4, 5}


## 5. 判断元素是否存在
可以使用in关键字来判断一个元素是否存在于set中。例如:
`python
my_set = {1, 2, 3}
if 1 in my_set:
    print("元素1存在于set中")
else:
    print("元素1不存在于set中")

## 6. 添加元素

可以使用add()方法来向set中添加一个元素,如果添加的元素已经存在于set中,不会有任何变化。例如:

`python

my_set = {1, 2, 3}

my_set.add(4)

print(my_set) # 输出{1, 2, 3, 4}


## 7. 删除元素
可以使用remove()方法来删除set中的一个元素,如果元素不存在于set中,会抛出KeyError异常。可以使用discard()方法来删除set中的一个元素,如果元素不存在于set中,不会有任何变化。例如:
`python
my_set = {1, 2, 3}
my_set.remove(2)
print(my_set)  # 输出{1, 3}
my_set.discard(4)
print(my_set)  # 输出{1, 3}

## 8. 清空set

可以使用clear()方法来清空set中的所有元素。例如:

`python

my_set = {1, 2, 3}

my_set.clear()

print(my_set) # 输出set()

扩展问答:

1. set中的元素可以是任何类型吗?

答:set中的元素必须是可哈希的(immutable),因此可以是数字、字符串、元组等不可变类型。不可哈希的类型,例如列表、字典等可变类型,不能作为set的元素。

2. set中的元素是按照什么顺序存储的?

答:set是一种无序的数据类型,因此set中的元素没有固定的顺序。如果需要按照一定的顺序遍历set中的元素,可以使用sorted()函数或者for循环来实现。

3. set和list有什么区别?

答:set和list都可以用来存储多个元素,但是set中的元素不重复,而list中的元素可以重复。set支持集合操作(如并集、交集、差集等),而list不支持这些操作。set的查询速度比list快,但是set需要更多的内存空间来存储元素。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT