最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

Python Set集合详解

XAMPP案例 admin 512浏览 0评论

drr00067

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_set
set()

集合运算

>>> 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 is not iterable

set.clear() 清空集合

>>> myset
{1, 2}
>>> myset.clear()
>>> myset
set()

set comprehensions

类似list comprehensions

例子:获取存在在’abracadabra’中,但不在’abc’中的字符集合

>>> a = {x for x in "abracadabra" if x not in '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}

转载请注明:XAMPP中文组官网 » Python Set集合详解

您必须 登录 才能发表评论!