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

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

python里面的set

来源:千锋教育
发布时间:2023-11-18 10:16:24
分享

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中的元素是无序的、不重复的。


声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • js中的slice与splice区别是什么 在JavaScript中,spce()和sppce()是数组的两种常用方法,它们有不同的功能和用法。spce(start, end):spce()方法用于从一个数组中提取(截取)指定位置的元素
  • python整除判断 Python整除判断是指在Python编程中,使用“//”符号进行整除运算,判断两个数是否整除。整除是指两个数相除,结果为整数,没有余数。Python整除判断是Python中常用的一种数学运算,用于判
  • python3 if多个条件 Python3中的if语句是一种非常常见的条件控制语句,它可以根据不同的条件执行不同的代码块。当我们需要同时考虑多个条件时,可以使用Python3中的多个条件语句,也就是if多个条件。我们将探讨Pyt
  • python for i in range(10) Python是一种高级编程语言,它简洁、易读、易学,非常适合初学者。Python中的for i in range(10)是一个非常重要的语句,它可以让我们轻松地遍历一个范围内的数字。我们将探讨Pyth
  • python中set的用法 Python中的set是一种无序且不重复的数据类型,可以用来存储多个元素,常用于去重或者判断某个元素是否存在。set可以使用大括号{}或者set()函数来创建,元素之间用逗号隔开。例如,创建一个包含
  • python中是什么意思 Python中是什么意思?Python是一种高级编程语言,它是一种解释型语言,由Guido van Rossum于1989年开发。Python具有简单易学、代码可读性高、跨平台、丰富的第三方库等特点