当前位置:首页 > 行业动态 > 正文

python里set怎么用

Python中的set是一个无序不重复元素集,支持集合操作如并集、交集和差集。

python里set怎么用  第1张

Python中的set是一个无序且不重复的元素集合,它的主要功能是进行成员关系测试和消除重复元素,set对象还支持像联合、交集、差集和对称差分等数学运算。

创建set

创建一个空的set,可以直接使用内置的set()函数,创建一个非空的set,可以将任何可迭代的对象传递给set()函数。

s = set()   空的set
s = set([1, 2, 3])   从list创建set
s = {1, 2, 3}   直接创建set

基本操作

1、添加元素:可以使用add()方法向set中添加元素。

s.add(4)
print(s)   输出:{1, 2, 3, 4}

2、删除元素:可以使用remove()方法从set中删除指定的元素,如果元素不存在,会抛出KeyError异常,也可以使用discard()方法,如果元素不存在,不会抛出异常。

s.remove(1)
print(s)   输出:{2, 3, 4}
s.discard(2)
print(s)   输出:{3, 4}

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

print(3 in s)   输出:True

数学运算

1、并集:可以使用union()方法或者|操作符来求两个set的并集。

s1 = {1, 2, 3}
s2 = {3, 4, 5}
print(s1.union(s2))   输出:{1, 2, 3, 4, 5}
print(s1 | s2)   输出:{1, 2, 3, 4, 5}

2、交集:可以使用intersection()方法或者&操作符来求两个set的交集。

print(s1.intersection(s2))   输出:{3}
print(s1 & s2)   输出:{3}

3、差集:可以使用difference()方法或者-操作符来求两个set的差集。

print(s1.difference(s2))   输出:{1, 2}
print(s1 s2)   输出:{1, 2}

4、对称差集:可以使用symmetric_difference()方法或者^操作符来求两个set的对称差集。

print(s1.symmetric_difference(s2))   输出:{1, 2, 4, 5}
print(s1 ^ s2)   输出:{1, 2, 4, 5}

其他操作

1、清空set:可以使用clear()方法来清空一个set。

s.clear()
print(s)   输出:set()

2、获取set的长度:可以使用len()函数来获取一个set的长度。

print(len(s))   输出:0

3、判断set是否为空:可以使用bool()函数来判断一个set是否为空。

print(bool(s))   输出:False

相关问题与解答:

1、如何在Python中创建一个空的set?

答:可以直接使用内置的set()函数来创建一个空的set。

2、如何在Python中从一个list创建一个set?

答:可以将list作为参数传递给set()函数来创建一个set。

3、如何在Python中向set中添加元素?

答:可以使用add()方法来向set中添加元素。

4、在Python中,如何求两个set的并集、交集、差集和对称差集?

答:可以使用union()方法或者|操作符来求并集,使用intersection()方法或者&操作符来求交集,使用difference()方法或者-操作符来求差集,使用symmetric_difference()方法或者^操作符来求对称差集。

0