Python学习-31.Python中集合的一些操作

add方法:

1 s = {1,2,3}
2 s.add(4)
3 print(s)# {1, 2, 3, 4}

同list的append方法,若调用s.add(3),则不会有任何影响。这点与C#中的HashSet有区别。

update方法:

1 s = {1,2,3,4,5}
2 s.update({3,5,7},[4,6])
3 print(s)# {1, 2, 3, 4, 5, 6, 7}

同list的extend方法,将原来没有的元素添加进集合。update可以接受一个到多个可遍历的集合,例如上面例子就接收了一个集合和列表。

discard和remove方法:

两者都是删除元素,但既然Python提供了两个方法,那么肯定是有区别的。

1 s = {1,2,3,4,5}
2 s2 = s.copy()
3 s.discard(1)
4 s.discard(1)
5 print(s)# {2, 3, 4, 5}
6 s2.remove(1)
7 s2.remove(1)# Error
8 print(s2)

在上面的代码可以看出,discard在元素不存在的情况下等价于空操作,而remove在元素不存在的情况下,则会产生错误。

pop方法:

1 s={4,1,3}
2 print(s.pop())
3 print(s.pop())

在我的电脑上输出的是:1 3

由于集合是无序的,因此pop方法的含义是删除随机一个元素,若集合为空,则产生错误。

clear方法:

清空集合。

union方法:

1 a={1,2,3}
2 b={2,3,4}
3 c=a.union(b)
4 print(c)# {1, 2, 3, 4}

组合两个集合。数学上的并集。

intersection方法:

1 a={1,2,3}
2 b={2,3,4}
3 c=a.intersection(b)
4 print(c)# {2, 3}

数学上的交集。

difference方法:

1 a={1,2,3}
2 b={2,3,4}
3 c=a.difference(b)
4 print(c)# {1}

a集合的所有未在b中出现的元素。

symmetric_difference方法:

1 a={1,2,3}
2 b={2,3,4}
3 c=a.symmetric_difference(b)
4 print(c)# {1, 4}

所有只出现一次的元素。

issubset、issuperset方法:

a={1,2,3}
b={1,2}
print(b.issubset(a))# True
print(a.issuperset(b))# True

如代码所示,不解释。

时间: 2024-08-09 06:34:36

Python学习-31.Python中集合的一些操作的相关文章

python学习笔记3:集合,文件操作,函数

一.集合 1. >>> s=set([1,2,3,4,5,6,6,6,])>>> s{1, 2, 3, 4, 5, 6} 集合可以理解为有键没有值的字典,键之间去重,无序. 2.集合操作: >>> s1={1,2,3,4,5,6,7}>>> s2={6,7,8,9,10,11}>>> s1&s2{6, 7}//交集>>> s1|s2{1, 2, 3, 4, 5, 6, 7, 8, 9, 10

python学习31(面向对象)

类的两种类型:经典类:class Person():#没有继承objectPass 新式类:class Person(object):#继承objectpass 面向对象技术简介类(Class):用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例.类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中且在函数体之外.类变量通常不作为实例变量使用.数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据.方法重写:如果从父类继承的方法不

python学习之web中的html

Web概述web起源web特点1.易导航和图形化界面2.与平台无关3.分布式结构4.动态性5.交互性 html 网页结构 HTML(Hyper Text Mark-up Language )即是超文本标记语言, 通过使用标记标签来描述页面文档结构和表现形式的一种语言,再由浏览器进行解析,然后把结果展示在网页上.?超文本指的是超链接?标记指的是标签1).HTML文件用编辑器打开显示的是文本,可以用文 本的方式编辑.2). HTML文件用浏览器打开,浏览器会按照标签描述内容将文件渲染成网页,显示的网

python基础31[python IDE之Eclipse+PyDev]

一 入门IDE作为python的初学者,在语法和类库学习阶段,我们可以使用以下简单使用的IDE:1) Python SDK 自带的IDEL(Python GUI)2) Komodo-Edit3) NotePad++ 二 终极IDE 之 Eclipse+PyDev1 特点1)开源免费2)代码完成和调试3)重构refactor,项目浏览explorer和类库browser4)目前最新版支持python2.1~3.0,仍不支持最新的3.1 2 下载 1)Java JDK(Eclipse运行需要)2)P

Python学习教程(Python学习路线+Python学习视频):Python数据结构

Python学习教程(Python学习路线+Python学习视频):Python数据结构   数据结构引言:   数据结构是组织数据的方式,以便能够更好的存储和获取数据.数据结构定义数据之间的关系和对这些数据的操作方式.数据结构屏蔽了数据存储和操作的细节,让程序员能更好的处理业务逻辑,同时拥有快速的数据存储和获取方式. 在这篇文章中,你将了解到多种数据结构以及这些数据结构在Python中实现的方式.    抽象数据类型和数据结构 数据结构是抽象数据类型(ADT)的实现,通常,是通过编程语言提供的

总结:Python学习 和 Python与C/C++交互

本篇仅仅是Python的学习和Python和C++数据对接过程中的一些总结. 由于工作的需要,用一周的时间学习 Python. Python是基于C实现的一门解释型语言,由于其易用性,俘获了不少开发者和运维的心.据说,Python 在科学计算领域,逐步吞噬着古老语言 Fortran的份额.这门语言是Google的第二语言,国内的知乎,豆瓣,都使用纯Python开发.Python的官方网站:http://www/python.org. 为了逐步完善的我们的数据库驱动服务,我们需要为客户提供更多,更

python学习列表字符串字典集合文件操作字符串编码与转换

一.列表 1 names = "ZhangYang GuYun XiangPeng XuLiangchen" 2 names = ["ZhangYang", "GuYun", "XiangPeng", "ChengRongHua","XuLiangchen"] 3 names.append("LeiHaiDong") #在列表最后追加一个元素 4 names.inse

python学习篇05 - 字典 集合

1.字典 定义:字典是以 key :value 的形式来保存数据,用{} 来表示,存储的是 key : value 查找效率比较高(注:字典存储数据时,用的是hash值来存储,算法不能变(python) 数据必须是不可变的(可哈希),字典的key必须是可哈希的(不可变) 列表是可变的,不可哈希 元组是不可变的,可哈希的 2.字典的增删改查 增加 dic[新key] = 值 dic.setdefault()  有添加的功能,如果key存在,不添加 流程:判断新key是否在字典中存在,如果已经存在了

Python基础教程:Python学习视频Python让你敲的代码不再是造轮子

你敲的代码是在造轮子?那就学Python呗!_Python基础教程 Bruce大神说" 人生苦短,我用Python ". 从公司角度而言: 国内基于Python创业成功的案例不在少数,豆瓣.知乎.果壳,全栈都是 Python,大家对Python自然有信心.并且从这几家公司出来的程序员与 CTO,创业的话一般都会选择Python. 从开发者个人角度而言: 计算机语言只是用来达成目的工具,?各种强大的第三方库,拿来就能用才是王道,让程序替代我们执行一些枯燥繁琐的工作.?至于句式是否优美.能