网站首页 > 文章中心 > 其它

python集合函数

作者:小编 更新时间:2023-09-11 18:23:40 浏览量:10人看过

Python 简明教程 ---13,Python 集合

目录

前几节我们已经介绍了Python 中的 列表list , 元组tuple 和 字典dict ,本节来介绍Python 中的最后一种数据结构—— 集合set .

Python 中的 set 与 dict 很像,唯一的不同是, dict 中保存的是 键值对 ,而 set 中只保存 键 ,没有 值 .

Python 集合 有如下特点:

Python 集合的声明有两种方式:

创建 空集合 时,只能用 set() ,而不能用 {} :

创建 非空集合 时,可以用 set() ,也可以用 {} :

由于集合中的元素是唯一的,如果初始化时的 可迭代 数据中有重复的元素,则会自动删去重复的元素:

使用 len() 函数可以查看集合中元素的个数:

由于Python 集合中的元素的是无序的,所以可不能使用 下标 的方式来访问集合中的单个元素.

我们可以使用 for 循环 来遍历集合中的所有元素:

我们可以对两个集合进行如下运算:

交集与并集

in 运算

使用 dir(set) 查看集合支持的所有方法:

① add 方法

由于集合中的元素是唯一的,向集合中添加元素时有两种情况:

示例:

①.0. difference_update 方法

①.1. intersection 方法

(完.)

推荐阅读:

Python 简明教程 ---10,Python 列表

Python 简明教程 ---11,Python 元组

python集合的使用怎么样的?

Python set 集合最常用的操作是向集合中添加、删除元素,以及集合之间做交集、并集、差集等运算.

向set集合中添加元素

set 集合中添加元素,可以使用 set 类型提供的 add() 方法实现,该方法的语法格式为:

setname.add(element)

其中,setname 表示要添加元素的集合,element 表示要添加的元素内容.

需要注意的是,使用 add() 方法添加的元素,只能是数字、字符串、元组或者布尔类型(True 和 False)值,不能添加列表、字典、集合这类可变的数据,否则 Python 解释器会报 TypeError 错误.例如:

print(a)

运行结果为:

Traceback (most recent call last):

TypeError: unhashable type: 'list'

从set集合中删除元素

删除现有 set 集合中的指定元素,可以使用 remove() 方法,该方法的语法格式如下:

setname.remove(element)

使用此方法删除集合中元素,需要注意的是,如果被删除元素本就不包含在集合中,则此方法会抛出 KeyError 错误,例如:

a.remove(1)

KeyError: 1

Python的集合介绍

和列表类似,集合也是一个数据集合,其也不要求元素的类型一致.但是集合有下面两个特点:

集合是无序的,添加元素时不能指定位置,删除元素时也不能通过指定位置,只能通过指定值.当然也不能通过位置来定位某个元素.

①.、创建集合

我们可以从列表创建集合,将列表中的元素都加入到集合中,如果有重复的元素就仅保留一个.

也可以从元组、字典和其他集合构建集合.比如:

使用的是字典的键来构建集合,字典的值没有被使用到,比如:

从字符串构建集合,其每个字符都成为集合的一个元素,比如:

a = set("abcdefabc")?

输出结果:a={'c', 'e', 'f', 'b', 'd', 'a'}

另外一个集合构建集合,比如:

当然也可以构造一个空的集合,使用的方法是set().空集合没有任何元素,比如:

a = set()

①添加元——add(值)

该函数只能添加一个元素.

如果添加的元素已经在集合中存在,那么不会发生任何变化.

该函数删除集合中指定的值对应的元素.

如果指定值在集合中不存在,则不做任何操作.

该函数和discard()的不同之处在于,如果指定的值在集合中不存在,会抛出异常.

该函数扔掉所有的元素.执行完该函数后,该集合将变成一个空的集合.

a.clear()

如果集合中有元素,则返回值为删除掉的元素的值.

如果集合为空,则抛出异常.

该函数返回一个新的集合,该集合包含所有属于a而不属于b的元素,如图所示.该操作不会改变原始集合a或者b的内容.

该操作符和difference()类似,返回一个新的集合,该集合包含所有属于a而不属于b的元素.该操作不会改变原始输入集合a或者b的内容.

该函数和difference()的不同是操作数a会被修改,而且没有返回值.

该函数返回所有的同时属于集合a和集合b的元素组成的集合,即返回的是一个集合,该集合的所有元素都同时属于集合a和b,如图所示.输入集合a和b在该过程中没有发生任何改变.

①.0.交集操作符()

该操作符和intersection()的效果是一样的.

①.1.删除集合a中所有不属于集合b的元素——intersection_update(集合)

该函数也是求交集,与intersection()不同的是其修改原始输入集合,并且没有返回值.这也是为何该接口函数后面带有update字样,因为其更新了原来的输入集合.

该函数判断是否存在这样的元素,其同时属于集合a和集合b.如果存在这样的元素,返回False;否则返回True.

该函数返回一个新的集合,该集合的元素要么属于输入集合a要么属于集合b.该操作不修改作为输入的两个集合a和b.如图表示该函数返回的集合的内容.

该操作符和union()的效果是一样的.其返回一个并集,并且不修改输入集合的内容.

该函数在集合a中添加属于b而不属于a的所有元素.该操作和union()不同的是,其修改了输入集合a,并且没有返回值.

外集就是由只属于集合a或者只属于集合b的元素组成的集合,如图所示.该操作返回一个新的集合,并且不修改原来的输入集合a和b.

该操作符和symmetric_difference()的效果是一样的,也是返回一个新的集合,并且不会修改输入的集合a或者b.

该函数和symmetric_difference()的区别是,其修改了集合a的值,并且没有返回值.

a是b的子集就是说集合a的所有元素都属于集合b.

如果a等于b,那么a和b互为子集.

a是b的超集合就是说集合b中的所有元素都属于集合a.

如果a是b的超集,那么b就是a的子集.

如果a等于b,那么它们互为子集,同时也互为超集.

python数据类型(集合)

①集合(set)是一个无序不重复元素的序列(意思是有重复的会自动删除,每次打印元素的位置不一定)

①创建集合

s=set()#创建一个空集合

集合是一个无序不重复元素的序列(意思是有重复的会自动删除,每次打印元素的位置不一定)

#提示,列表转集合,集合转列表

mylist=a.split()

print(mylist)

b=set(mylist)

c=list(b)

print(c)

? 1.添加元素

集合操作-添加元素

格式:

集合.add(元素)

集合.update(元素)

区别:

add不能添加列表,update可以

update是将字符串中的拆分成字符进行追加

add,是当做整体追加在集合中

#案例:从终端输入一个数字就加入集合中,然后打印,又输入一个数字,然后打印,直到输入-1,退出输入

#然后打印最终的集合

ms=set()

while 1:

a=int(input("请输入一个数字:"))

if a==-1:

break

? ms.add(a)

print(ms)

#案例:从终端输入一个字符串就加入集合中,然后打印,又输入一个字符串,然后打印,直到输入q,退出输入

#然后打印最终的集合,字符串要分开存储,如输入hello,存储的列表是{'h','e','l','0'}

a=input("请输入一个字符串:")

if a=='q':

? ms.update(a)

集合操作-删除元素及删除整个集合

集合.remove(元素)? # 元素如果不存在会引发KeyError

集合.discard(元素)? # 元素如果不存在不发生任何事

集合.pop()? # 集合元素是字符串类型时删除随机元素. 集合元素是其他数据类型时,删除左边第一个元素

del 集合名 #删除整个集合

a.discard("hello")

a.discard("world")

a.pop()

集合操作-获取集合的长度

len(集合名)

for i? in range(len(s)-1):

s.pop()

print(s)

集合的集运算

集合的交集,并集,差集,对称差集的运算

#案例:使用花括号和set创建各一个集合,然后对集合进行交、并、差、对称差运算

print(ss1)

print(s|s1)

print(s-s1)

print(s^s1)

python中set()函数的用法

python中set()函数的用法如下:

①.、首先按下"Win+R"组合键,打开运行窗口,如下图所示.

Python中创建集合的方法有哪些呢?

集合分为两种:可变集合(set)和不可变集合(frozenset),现在学习的是可变集合.

在Python中,有关于集合的操作主要有:集合的创建;集合的添加和删除;集合的交、并和差集运算.

今天先来学习如何创建集合.

集合的创建有两种方法:直接赋值法和set()函数法.

①.、直接赋值法

和Python的其它序列一样,采用直接赋值法就可以直接创建一个集合,具体语法格式如下:

从格式上看,和其它的序列创建方法基本一样,就是集合名setname直接使用赋值运算符等号"="赋值,等号后面的元素内容使用英文半角的大括号"{ }"括起来,各个元素之间依然使用英文半角的逗号","分隔.

以上就是土嘎嘎小编为大家整理的python集合函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章