Python Set集合详解

数据分析学习社
数据分析学习社
数据分析学习社
348
文章
0
评论
2021-07-0711:35:43 评论 997 1671字
摘要

Python Set集合详解

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

更多文章前往首页浏览http://www.itongji.cn/

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: