Python中的集合是一种无序的,无重复值的数据结构类型。Python中的集合可以用来检测元素检测或消除重复的元素。

一、python 集合概述

(1)Python中的集合元素是无序的,即元素没有顺序问题,也不能像数组、列表、字符串那样使用索引来访问某个元素;

(2)各元素的顺序也并不是定义时的顺序;

(3)Python中集合的每个元素都是不同的,即使你定义了相同的元素,其在使用时也会自动消除,利用集合这一特点可以去除重复值;

(4)Python中的集合使用{}或set()来定义;

(5)如果定义一个空集只能使用set()来定义,不能使用{}定义,原因是{}用于定义词典的空值;

(6)集合是值可变类型,所以可以对其元素值进行增,删操作;

二、定义集合

Python中可以使用一对英文半角的花括号来定义一个集合,各元素的值使用英文半角的逗号进行分隔;也可以使用其内置函数set()来定义一个集合。下面是定义集合的几个例子:

>>>

set1 = {1, 2, 5, 3}

>>>

print(set1) # 注意输出顺序

{1, 2, 3, 5}

>>>

set2 = {1, 3, 'A', 'Python'} # 集合元素可以是不同类型

>>>

print(set2)

{1, 2, 'Python', 'A'}

>>>

set3 = {1, 4, 1, 5} # 有重复值现象

>>>

print(set3) # 注意输出情况

{1, 4, 5}

>>>

set4 = set() # 定义一个空集

>>>

print(set4)

set()>>>

set5 = set(['python', 'R', 'Java'])

>>>

print(set5)

{'R', 'python', 'Java'}

>>>

set6 = set("ABE")

>>>

print(set6)

{'E', 'B', 'A'}

>>>

三、集合元素的访问

由于集合是无序且无索引的,不能像列表、数组等那样使用索引来访问它的元素,但是我们可以使用 for 循环来迭代访问其元素或通过 in 运算符判断集合中是否存在某个元素。

colors = {'Red', 'Yellow', 'White', 'Blue', 'Green'}

for

cl

in

colors:

print(cl, end = ' ')

print('\n')

print('Pink'

in

colors)

print('Blue'

in

colors)

print('White'

in

colors)

输出结果:

White Green Yellow Blue Red

False

True

True

四、修改集合

1、新增元素

我们可以使用add()函数为集合添加一个元素,也可以使用update()函数向集合中添加多个元素。

fruits = {"apple", "pear", "cherry"}

print("原集合:", fruits)

fruits.add("lemon") # add 方法每次只能添加一个元素

print("增加1个后:", fruits)

fruits.update(["lichee", "blueberry", "banana"]) # 此处可以是列表或一个集合形式

print("增加多个后:", fruits)

输出结果:

原集合: {'cherry', 'pear', 'apple'}

增加1个后: {'lemon', 'cherry', 'pear', 'apple'}

增加多个后: {'cherry', 'banana', 'pear', 'apple', 'blueberry', 'lemon', 'lichee'}2、从集合中移除元素

我们可以使用 remove()函数、discard()函数、clear()函数、pop()函数来删除集合中的元素,也可以使用del命令删除集合的定义。

fruits = {"apple", "cherry", "lemon", "pear", "lichee"}

print(fruits)

fruits.remove("pear") # 使用remove从集合中移除特定元素

print(fruits) # {'lemon', 'apple', 'lichee', 'cherry'}

fruits.discard("apple") # 使用discard从集合中删除特定元素

print(fruits) # {'lemon', 'lichee', 'cherry'}

fruits.pop() # 从集合中移除最顶端的元素

print(fruits) # {'lichee', 'cherry'}

fruits.clear() # 清空集合中的所有元素

print(fruits)

del

fruits # 删除fruits的定义

print(fruits) # 将会引发NameError错误

输出结果:

{'lemon', 'apple', 'lichee', 'cherry', 'pear'}

{'lemon', 'apple', 'lichee', 'cherry'}

{'lemon', 'lichee', 'cherry'}

{'lichee', 'cherry'}

set()

Traceback (most recent call last):

File "D:/python/PyTrain/testcode/sets.py", line 29, in

print(fruits)

NameError: name 'fruits' is not defined

Python没有提供直接修改特定值的操作,这也是由于集合无序且无索引造成的,但是我们可以使用其他方法来达到这样的目的,比如先删除后增加等,本站将在以后专门写文章来说明具体的操作技巧。

五、集合运算符

Python提供了简单方便的运算符可以实现集合的并、交、差和对称差的运算。

1、集合的并运算

使用 | 运算符可以实现两个集合的并运算。集合A和集合B并运算的结果中的元素是由或者属于集合A或者属于集合B的元素构成的,简单说把集合A中的元素和集合B中的元素放在一起,然后去除重复的就是并运算的结果。

A = {1, 3, 7}

B = {4, 6, 7, 8}

R = A | B

print("A | B=", R)

输出结果:

A | B= {1, 3, 4, 6, 7, 8}2、集合的交运算

集合A与集合B的交运算的结果是由既属于集合A又属于集合B的元素构成的。就是两个集合的公共元素。在Python中使用 & 运算符可以求两个集合的并运算。

A = {1, 3, 7}

B = {4, 6, 7, 8}

R = A & B

print("A & B=", R)

输出结果:

A & B= {7}

3、集合的差运算

集合A与集合B的差运算结果是由属于集合A而不属于集合B的元素构成的。就是A中有而B中没有的元素。在Python中可以使用 - 来进行集合的差运算。

A = {1, 3, 7}

B = {4, 6, 7, 8}

R = A - B

print("A - B=", R)

运算结果:

A - B= {1, 3}4、集合的对称差运算

集合A与集合B的对称差运算结果是由属于集合A或属于集合B但不能是共同拥有的元素构成的。即A和B的并集去除交集后的结果。在Python中使用 ^ 运算符可以求两个集合的对称差集。

A = {1, 3, 7}

B = {4, 6, 7, 8}

R = A ^ B

print("A ^ B=", R)

输出结果:

A ^ B= {1, 3, 4, 6, 8}Python也提供了相关的函数可以实现以上各种运算,关于集合的相关函数的使用方法,本站将在以后陆续进行介绍。

关于集合的内容暂时就介绍这么多,如果内容有误,请留言评论。

如需转载,请注明出处和本文链接地址:翔宇亭IT乐园(http://www.biye5u.com)

本文链接地址:http://www.biye5u.com/article/python/2020/6479.html

python中集合运算_Python中的集合操作与集合运算相关推荐

  1. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  2. python中定义数据结构_Python中的数据结构—简介

    python中定义数据结构 You have multiples algorithms, the steps of which require fetching the smallest value ...

  3. python中的集合类型_Python中的集合类型知识讲解

    >>> s.add('z') >>> s set(['c', 'e', 'h', 'o', 'p', 's', 'z']) >>> s.updat ...

  4. python集合常用方法_Python中集合类型(set)学习小结

    set 是一个无序的元素集合,支持并.交.差及对称差等数学运算, 但由于 set 不记录元素位置,因此不支持索引.分片等类序列的操作. 初始化 复制代码 代码如下: s0 = set() d0 = { ...

  5. python中mod运算符_Python中的数学运算操作符使用进阶

    Python中对象的行为是由它的类型 (Type) 决定的.所谓类型就是支持某些特定的操作.数字对象在任何编程语言中都是基础元素,支持加.减.乘.除等数学操作. Python的数字对象有整数和浮点数, ...

  6. python中怎么计算_python中的加减乘除运算

    python中的加减乘除运算,是学习python入门的基础,是以后进行数学计算的关键部分.包括运算表达式的写法,运算规则,加减乘除,求余,求商等等. 工具/原料 python 电脑 方法/步骤 1 1 ...

  7. python中的运算符_Python中的运算符

    说完常用的数据类型,再来说下运算符.运算符用于将各种类型的数据进行运算,让静态的数据跑起来. 编程语言中的运算大致分为以下几个大类: 算术运算, 用于加减乘除等数学运算 赋值运算,用于接收运算符或方法 ...

  8. python中的乘方_python中的乘方

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 一,算术运算python中的乘方运算符号为 **,比较特殊. 作为运算符,%表示 ...

  9. python中括号的作用_python中中括号

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 在python语言中最常见的括号有三种,分别是:小括号().中括号:代表list ...

最新文章

  1. 个人怎么发表期刊具体细节
  2. ISA Server 2004 FAQ集
  3. Cocos2d-x win7 + vs2010 配置图文详解 .
  4. 正则表达式与三剑客的使用技巧
  5. vFORUM十大“最”看点,带你“撩”会议
  6. 用户 'NT AUTHORITY/NETWORK SERVICE' 登录失败 的解决方法(转)
  7. 出现字迹模糊迹象_改变迹象:如何使用动态编程解决竞争性编程问题
  8. postman用法_应该是接口测试神器postman最全的用法总结了
  9. .net core精彩实例分享 -- 应用启动
  10. android最优化启动画面,Android启动页黑屏及最优解决方案
  11. snownlp抛出错误_9snowNLP常见用法
  12. 一个三非渣本的安卓秋招之路
  13. DB2 windows下9.5安装教程
  14. ESN学习笔记——echotorch(2)narma10
  15. python3爬取新浪微博_Python3爬取新浪微博头条
  16. 腾讯 Techo Hub 2022 年首站落地福州|723,与开发者们探讨工业数字化!
  17. pygame战棋游戏制作之战棋棋子设置(二)
  18. 数据库之mysql事务原理分析与锁机制 详解
  19. 产品、测试与开发如何协作
  20. 抓取小红书 模拟器提示版本低 对接anoyi接口的api

热门文章

  1. C# VS2019 Runtime Error! R6034:C runtime library incorrectly
  2. postMessage传递消息详细示例
  3. 写一篇5000字的小学数学体验式教学论文
  4. COleVariant的转换
  5. 计算机专业大一上学期期末总结
  6. ventoy使用教程linux,Ventoy使用说明
  7. 区块链哪些公司得到a16z的投资?
  8. Chrome浏览器获取流媒体地址方法
  9. iOS11使用技巧:玩转“iMessage”
  10. 玲珑杯 1160 - 康娜与玲珑杯