Set集合详解
集合定义
集合(set),由无序且无重复元素组成。支持数学操作
>>> basket = {"apple", "orange", "pear", "orange", "banana"}>>> print(basket) # show that duplicates have been removed{"banana", "pear", "apple", "orange"} # 注意,不存在重复的元素
set函数
set函数用于创建集合
例.创建空集合
注意:创建空的set必须使用set(),而不是{},{}用于创建空的字典
>>> empty_set = set()>>> empty_setset()
集合运算
>>> seta = set("ishouke")>>> setb = set("showmeke")>>> seta{"u", "s", "e", "o", "h", "i", "k"}>>> setb{"w", "s", "e", "m", "o", "h", "k"}
获取仅包含在集合seta中的元素
>>> seta - setb{"u", "i"}
获取包含在集合seta或集合setb中的元素(两个集合中的所有元素)
>>> seta | setb{"u", "w", "s", "e", "m", "o", "h", "i", "k"}
获取集合seta和集合setb共有的元素
>>> seta & setb{"e", "o", "h", "k", "s"}
获取存在seta或setb中的元素,不含集合seta和setb共有的元素
>>> seta ^ setb{"w", "u", "m", "i"}
集合函数
set.add(x)添加元素到集合
>>> myset.add(1)>>> myset{1}>>> myset.add(2)>>> myset{1, 2}
set.remove(x)移除指定元素
>>> myset{1, 2}>>> myset.remove(2)>>> myset{1}
set.update(iterable) 更新集合
>>> myset = set()>>> myset.update([2,3,"a"])>>> myset{2, 3, "a"}>>> myset.update((6,7))>>> myset{2, 3, "a", 6, 7}>>> myset.update({"a":"a1", "b":"b1"})>>> myset{2, 3, "b", 6, 7, "a"}>>> myset.update("mystr")>>> myset{2, 3, 6, 7, "y", "t", "s", "m", "b", "a", "r"}
注意# 函数参数必须为可迭代对象
>>> myset.update(1)Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: "int" object isnot iterable
set.clear() 清空集合
>>> myset{1, 2}>>> myset.clear()>>> mysetset()
set comprehensions
类似list comprehensions
例子:获取存在在"abracadabra"中,但不在’abc’中的字符集合
>>> a = {x for x in"abracadabra"if x notin"abc"}>>> a{"d", "r"}
集合分解
>>> x, y = {"i", "shou"}>>> x"shou">>> y"i"
注意:不会按顺序给变量赋值
集合比较
>>> {3, 2} == {2, 3}True>>> {3,2} == {2, 3, 5}False
注意:两个集合中的元素如果完全相同,则判断这两个集合相等
#集合转字符串
>>> str({1, "a", "b44"})"{1, "a", "b44"}"
字符串类型的集合转集合
>>> str_set = "{1, 2}">>> to_set = eval(str_set)>>> to_set{1, 2}
End.
作者:授客
本文为转载分享,如果涉及作品、版权和其他问题,请联系我们第一时间删除(微信号:lovedata0520)
- 我的微信公众号
- 微信扫一扫
- 我的微信公众号
- 微信扫一扫
评论