Python集合set

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python集合set相关的知识,希望对你有一定的参考价值。

set


  • 程序中的集合仅仅只代表多个变量的组合体而已,和列表、元组、字典一样、都代表多个元素的一种数据结构

集合的特性是:无序,元素唯一
set(集合)和dict(字典)类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。所以集合经常被用来去重(消除在列表和元组中的重复元素)

要创建一个set,需要提供一个list作为输入集合(set方法的参数必须为 list、元组和dict):

>>> sets=set([1,2,3,4]);
>>> print(sets)
{1, 2, 3, 4}

集合也可以被for循环迭代遍历

>>>for i in sets:
>>>print(i)
1
2
3
4

增加元素的操作:add()

>>>sets.add(5);
>>>print(sets)
{1, 2, 3, 4, 5}

删除元素的操作
remove(),删除指定的某个元素

>>>sets.remove(1);
>>>print(sets)
{2, 3, 4, 5}

pop(), 随机移除集合中的元素

>>>sets.pop();
>>>print(sets)
{3, 4, 5}

在集合中存在着修改的方法:将列表作为参数,将两个列表合二为一之后。共同形成的集合

>>>sets.update([‘张三‘,‘李四‘])
>>>print(sets)
{‘张三‘, ‘李四‘, 3, 4, 5}

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作:交集 并集 补集 差集

>>>a=set([1,2,3])
>>>b=set([2,3])

交集 &

>>>print(a&b)
{2, 3}
>>>print(a.intersection(b))
{2, 3}

并集 |

>>>print(a|b)
{1, 2, 3}
>>>print(a.union(b))
{1, 2, 3}

差集 -

>>>print(a-b)
{1}
>>>print(a.difference(b))
{1}

对称差集 ^

>>>print(a^b)
{1}
>>>print(a.symmetric_difference(b))
{1}

判断a是否为b的父集

>>>print(a.issuperset(b))
True

以上是关于Python集合set的主要内容,如果未能解决你的问题,请参考以下文章

python-列表list- 元组(tuple)- 集合(set)-字典(dict)-实例代码

Python集合(set)的操作方法汇总(约20种操作方法),并附示例代码

Python数据类型-集合(set)

python中的set集合

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段