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

手机站
千锋教育

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

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

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

当前位置:首页  >  技术干货  > python里面的set

python里面的set

来源:千锋教育
发布人:xqq
时间: 2023-11-18 14:28:08 1700288888

Python中的set是一种无序且不重复的数据类型,它可以用来存储一组数据,类似于数学中的集合。在Python中,set可以用花括号{}或者set()函数来创建,且元素之间用逗号隔开。例如:



# 创建一个set

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

print(my_set)

# 创建一个空的set

empty_set = set()

print(empty_set)


输出结果为:



{1, 2, 3, 4, 5}

set()


Python中的set有哪些常用操作?


1. 添加元素


我们可以使用add()方法向set中添加一个元素,例如:



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

my_set.add(6)

print(my_set)


输出结果为:



{1, 2, 3, 4, 5, 6}


2. 删除元素


我们可以使用remove()方法从set中删除一个元素,例如:



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

my_set.remove(3)

print(my_set)


输出结果为:



{1, 2, 4, 5}


3. 求交集、并集和差集


我们可以使用&、|和-操作符来求两个set的交集、并集和差集,例如:



set1 = {1, 2, 3, 4, 5}

set2 = {4, 5, 6, 7, 8}

# 求交集

print(set1 & set2)

# 求并集

print(set1 | set2)

# 求差集

print(set1 - set2)


输出结果为:



{4, 5}

{1, 2, 3, 4, 5, 6, 7, 8}

{1, 2, 3}


4. 判断元素是否在set中


我们可以使用in关键字来判断一个元素是否在set中,例如:



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

print(3 in my_set)

print(6 in my_set)


输出结果为:



True

False


5. 求set的长度


我们可以使用len()函数来求一个set的长度,例如:



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

print(len(my_set))


输出结果为:




Python中的set有哪些特点?


1. set中的元素是无序的,不能通过下标来访问元素。


2. set中的元素是不重复的,如果添加一个已经存在的元素,set不会产生任何效果。


3. set中的元素必须是可哈希的,即不可变的。因为set是基于哈希表实现的,如果元素是可变的,那么在哈希表中就无法确定元素的位置。


4. set比list和tuple的查找速度更快,因为set是基于哈希表实现的,查找一个元素的时间复杂度为O(1)。


5. set比list和tuple的内存占用更大,因为set需要维护哈希表的结构,而list和tuple只需要维护一个线性的结构。


set的应用场景有哪些?


1. 去重


set最常用的应用场景就是去重,例如:



my_list = [1, 2, 3, 4, 5, 2, 3, 4]


my_set = set(my_list)


print(my_set)



输出结果为:



{1, 2, 3, 4, 5}



2. 判断两个集合是否有交集


我们可以使用&操作符来判断两个集合是否有交集,例如:



set1 = {1, 2, 3, 4, 5}


set2 = {4, 5, 6, 7, 8}


if set1 & set2:


print("两个集合有交集")


else:


print("两个集合没有交集")



输出结果为:



两个集合有交集



3. 快速查找


由于set是基于哈希表实现的,所以在需要快速查找元素的场景下,set是一个很好的选择,例如:



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


if 3 in my_set:


print("3在集合中")


else:


print("3不在集合中")



输出结果为:



3在集合中



Python中的set是一个非常有用的数据类型,它可以用来存储一组数据,并且具有去重、快速查找、判断两个集合是否有交集等功能。在使用set时需要注意元素必须是可哈希的,且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