简析python中的集合

liftword1个月前 (03-28)技术文章6

一、集合

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快速入门教程5:集合

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

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

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

第27讲 集合(和猫妹学Python)

小朋友们好,大朋友们好!我们今天学习集合(set)的知识,内容如下:什么是集合(set)集合的创建集合的添加和删除集合的交集、并集、差集什么是集合Python中的集合和数学中的集合概念类似,也是用于保...

一文带您精通Python 集合(Set):8个不可不知的技巧及示例

在 Python 中,集合(Set)与列表(List)、字典(Dict)、元组(Tuple)一起构成了基本的数据结构。集合以其独特的无序性和元素唯一性,在处理数据时具有独特的优势。然而,很多人对集合的...

Python中列表、元组、字典和集合的异同

在Python中,列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)都是内置的数据结构,它们各有特点和用途。下面是它们的异同点:相同点:都是容器类型,可以用来存储多个数...

Python集合详解

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