关键词

详细介绍Python中的set集合

详细介绍Python中的set集合

简介

set是Python的一种数据结构,类似于数学中的集合概念。set中可以存储多个元素,但每个元素必须是唯一的,即不能出现重复元素。

set是无序的,不能通过下标进行访问,但是可以遍历set中所有元素。

set可以进行交集、并集、差集等操作,是处理相同数据的好工具。

创建set

可以通过以下两种方式创建set:

直接创建

直接用大括号{}创建一个set,可以使用add()方法添加元素。

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

使用set()函数

也可以使用set()函数将一个列表或元组转换为set。

list1 = [1, 2, 3]
set1 = set(list1)
print(set1)  # 输出 {1, 2, 3}

tuple1 = (4, 5, 6)
set2 = set(tuple1)
print(set2)  # 输出 {4, 5, 6}

set的基本操作

添加元素

使用add()方法可以向set中添加一个元素。

使用update()方法可以向set中添加多个元素。update()方法的参数可以是列表、元组、字符串等可迭代对象。

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

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

删除元素

使用remove()方法可以删除set中的一个元素。

使用discard()方法也可以删除元素,如果元素不存在于set中,discard()方法不会报错,而remove()方法会报错。

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

set1.discard(4)
print(set1)  # 输出 {1, 3}

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

查询元素

使用in操作符可以判断一个元素是否在set中。

set1 = {1, 2, 3}
print(2 in set1)  # 输出 True

print(4 in set1)  # 输出 False

遍历set

使用for循环可以遍历set。

set1 = {1, 2, 3}
for i in set1:
    print(i)

set的操作

交集

使用&操作符(或者使用intersection()方法)可以得到两个set的交集。

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

set4 = set1.intersection(set2)
print(set4)  # 输出 {2, 3}

并集

使用|操作符(或者使用union()方法)可以得到两个set的并集。

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

set4 = set1.union(set2)
print(set4)  # 输出 {1, 2, 3, 4}

差集

使用-操作符(或者使用difference()方法)可以得到两个set的差集。

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

set4 = set1.difference(set2)
print(set4)  # 输出 {1}

示例说明

示例一

假设有两个列表list1和list2,需要找出它们的交集。可以将list1和list2转换为set,然后计算它们的交集。

list1 = [1, 2, 3, 4]
list2 = [3, 4, 5, 6]
set1 = set(list1)
set2 = set(list2)
set3 = set1 & set2
print(set3)  # 输出 {3, 4}

示例二

假设有一个列表list1,其中包含重复元素,需要将重复元素去掉。可以将list1转换为set,然后再转换回列表。

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

以上就是关于Python中的set集合的详细介绍和使用示例。

本文链接:http://task.lmcjl.com/news/7435.html

展开阅读全文