python中的集合及集合常用的使用方法

  • Post category:Python

下面是详细讲解“python中的集合及集合常用的使用方法”的完整攻略。

Python中的集合

Python中的集合(set)是一种无序且不重复的数据类型,它类似于列表和元组,但是没有索引,不能通过索引访问其中的元素。因此,集合主要用来检验两个对象是否相同。

创建集合

Python中可以通过花括号({})或set()函数来创建一个集合。例如:

# 创建一个集合
set1 = {1, 2, 3}
print(set1) # 输出:{1, 2, 3}

# 创建一个空集合
set2 = set()
print(set2) # 输出:set()

集合的常用方法

add()

向集合中添加一个元素,如果元素已存在,则不进行任何操作。例如:

set1 = {1, 2, 3}
set1.add(4)
print(set1) # 输出:{1, 2, 3, 4}

set1.add(3)
print(set1) # 输出:{1, 2, 3, 4},原集合中已经包含元素3,因此不进行任何操作。

update()

向集合中添加多个元素。例如:

set1 = {1, 2, 3}
set1.update([3, 4, 5])
print(set1) # 输出:{1, 2, 3, 4, 5}

set1.update([5, 6, 7], [7, 8, 9])
print(set1) # 输出:{1, 2, 3, 4, 5, 6, 7, 8, 9}

remove()

从集合中删除一个元素,如果元素不存在,则会报错。例如:

set1 = {1, 2, 3}
set1.remove(2)
print(set1) # 输出:{1, 3}

set1.remove(4) # 报错:KeyError: 4

discard()

从集合中删除一个元素,如果元素不存在,则不进行任何操作。例如:

set1 = {1, 2, 3}
set1.discard(2)
print(set1) # 输出:{1, 3}

set1.discard(4) # 不进行任何操作,原集合仍是{1, 3}

pop()

随机删除集合中的一个元素,并返回该元素,如果集合为空,则会报错。例如:

set1 = {1, 2, 3}
print(set1.pop()) # 输出:1
print(set1) # 输出:{2, 3}

set2 = set()
print(set2.pop()) # 报错:KeyError: 'pop from an empty set'

clear()

删除集合中的所有元素。例如:

set1 = {1, 2, 3}
set1.clear()
print(set1) # 输出:set()

集合的运算

集合可以进行一些集合的运算,例如交集、并集、差集等。

交集

找出两个集合中都包含的元素。例如:

set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 & set2) # 输出:{3}

并集

找出两个集合中所有的元素,去重复。例如:

set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 | set2) # 输出:{1, 2, 3, 4, 5}

差集

找出一个集合中存在,但是另一个集合中不存在的元素。例如:

set1 = {1, 2, 3}
set2 = {3, 4, 5}
print(set1 - set2) # 输出:{1, 2}

示例说明

示例1:使用集合求两个字符串中相同的字符

str1 = "hello"
str2 = "world"
set1 = set(str1)
set2 = set(str2)
result = set1 & set2
print(result) # 输出:{'l', 'o'}

示例2:使用集合对列表进行去重

list1 = [1, 2, 3, 2, 4, 1]
set1 = set(list1)
list2 = list(set1)
print(list2) # 输出:[1, 2, 3, 4]

以上就是“python中的集合及集合常用的使用方法”的完整攻略了。