python里面的set



免费领取服务器

点击领取

python里面的set

2023-12-15 4:23:14网络知识悟空

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


发表评论: