简析python中的集合

liftword2个月前 (03-28)技术文章18

一、集合

1、集合:set,把不同元素组成一起形成集合,

是pthon基本的数据类型,是无序且不重复,

特点是数据元素唯一、无序且不可变

set(可变)

frozenset(不可变)元组和字符串也不可变

>>> set1 = {1,2,3,4,5,6}

>>> set1 = {1,2,3,4,5,6,7}

>>> set1

{1, 2, 3, 4, 5, 6, 7}

>>> type(set1)

>>> set2 = frozenset([1,2,3,4,5])

>>> set2

frozenset({1, 2, 3, 4, 5})

2、更新集合

set.add()

>>> set1.add(8)

>>> set1

{1, 2, 3, 4, 5, 6, 7, 8}

>>> set2.add(4) #不可变集合不可添加

Traceback (most recent call last):

File "", line 1, in

AttributeError: 'frozenset' object has no attribute 'add'

set.update()

update只能接收一个序列,

那么会将序列集合里的数据拆分成单个元素

>>> set1.update(5)

Traceback (most recent call last):

File "", line 1, in

TypeError: 'int' object is not iterable

>>> set1.update([5])

这样没报错

>>> set1.update("add")

>>> set1

{1, 2, 3, 4, 5, 6, 7, 8, 'a', 'd'}

去重了

>>> set1.add('adddddbf')

>>> set1

{1, 2, 3, 4, 5, 6, 7, 8, 'a', 'adddddbf', 'd'}

>>> set1.update('adddddbf')

>>> set1

{1, 2, 3, 4, 5, 6, 7, 8, 'a', 'adddddbf', 'd', 'b', 'f'}

>>>

2、访问集合

集合是无序的无法通过索引和切片的方法去访问其中的值

但是可以通过循环迭代的方式如下所示

>>> for set in set1:

... print(set)

...

1

2

3

4

5

6

7

8

a

adddddbf

d

b

f

3、删除集合中的元素

pop函数

从集合中删除并且返回一个任意元素

并且当集合是空的时候pop是会出一个KeyError的错误

>>> set1 = {1,2,3,4}

>>> set1

{1, 2, 3, 4}

>>> set1.pop()#删除的是任意的

1

clear函数

把集合里的数据对象都删除掉

>>> set1.clear()

>>> set1

set()

remove函数

从集合中删除对象,必须是一个成员

如果我们没有这个成员,会引发一个KeyError

>>> set1 = {1,2,3,4}

>>> set1.remove(1)

>>> set1

{2, 3, 4}

>>> set1.remove(2)

>>>

>>> set1.remove(5)

Traceback (most recent call last):

File "", line 1, in

KeyError: 5

discard函数

删除一个数据对象,如果他是集合的成员

如果说你这里没有这个成员,不会报错,什么都不做

>>> set1 = {1,2,3,4}

>>> set1.discard(1)

>>> set1

{2, 3, 4}

>>> set1.discard(5)

>>> set1

{2, 3, 4}

我们可以通过帮助来查询

>>> dir(set1)#输出信息太长就不列举了

查询帮助文档可以通过

help(集合名.查询出来的函数名)

help(set1.pop)

3、查询是否在

in 和 not in

>>> set1

{2, 3, 4}

>>> 1 in set1

False

使用in和not是效率很高的,

因为凡是对hash表进行查找工作,

要比普通序列查找要效率快的。

*********************************

**当才华撑不起野心的时候**

******静下心来学习吧!******

*********************************

相关文章

Python 中的集合

集合是 Python 中的一种内置数据结构,表示唯一项的无序集合。集合对于涉及成员资格测试、消除重复条目以及执行数学集运算(如 union、intersection 和 difference)的操作特...

Python快速入门教程5:集合

一、集合简介集合(set)是Python中的一种无序且不重复元素的容器类型。它基于哈希表实现,因此查找和插入操作的时间复杂度接近于O(1)。集合非常适合用于成员测试、去重等场景。创建集合使用花括号{}...

Python小案例47-集合的操作和方法

Python中的集合是一种无序且不重复的数据结构。它们是可变的,可以添加、删除和修改元素。下面是一些常用的集合操作和方法:创建集合:使用花括号{}来创建一个空集合:my_set = {}使用set()...

Python集合详解

前言在上一篇《Python元组与字典用法详解》中,我们介绍了元组和字典的用法,简单回顾一下:元组:创建元组:( )和tuple()函数两种方式字典:创建字典:{ }和dict()函数两种方式访问字典元...

Python数据类型——集合

Python中的集合(Set)是一种可变的、无序的、不重复的数据类型,用于存储单个元素,可以用于去重、交集、并集、差集等操作。在集合中,元素可以是任何不可变的数据类型,例如数字、字符串、元组,但不能包...