Python中的set是一个无序不重复元素集,支持集合操作如并集、交集和差集。
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)