Python基础(二)之集合
集合以{}形式表现,一个集合中的元素各不相同,即集合体现为去重的特性。主要用于关系测试,常见的集合操作:交集、并集、插件、子集、父集、对称差集等。
设置集合:
list_1 = [1,3,4,5,7,9,4]
print(list_1,type(list_1))
list_1 = set(list_1)
list_2 = set([2,4,6,8,5,10])
print(list_1,list_2)
结果:{1, 3, 4, 5, 7, 9} <class 'set'>
{1, 3, 4, 5, 7, 9} {2, 4, 5, 6, 8, 10}
一、英文关系测试
1、交集 intersection
print(list_1.intersection(list_2)) ##取list1和list2都有的元素
结果:{4, 5}
2、并集 union
print(list_1.union(list_2)) ##取list1和list2所有的元素
结果:{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
3、差集 difference
print(list_1.difference(list_2)) ##在list1中取list2中没有的元素
结果:{1, 3, 9, 7}
4、子集 issubset
list_3 = set([1,3,5])
print(list_3.issubset(list_1)) ##判断list3是否为list1的元素
结果:True
5、父集 issuperset
print(list_1.issuperset(list_3)) ##判断list1是否为list3的元素
结果:True
6、对称差集
print(list_1.symmetric_difference(list_2)) ##取list1和list2所有的元素并去掉都有的元素
结果:{1, 2, 3, 6, 7, 8, 9, 10}
二、逻辑运算符关系测试
1、交集 &
print(list_1 & list_2)
2、并集 |
print(list_1 | list_2)
3、差集 -
print(list_1 - list_2)
4、对称差集 ^
print(list_1 ^ list_2)
三、集合常用方法
1、add
list_1.add(66)
print(list_1)
结果:{1, 66, 3, 4, 5, 7, 9} ##元素66已经加到list1中
2、update
list_1.update([33,44,55])
print(list_1)
结果:{1, 66, 3, 4, 5, 33, 7, 9, 44, 55} ##元素33,44,55加到list1中
3、remove
作用:删除集合中一个元素,若有这个元素会删除,但不会显示在屏幕上;若没这个元素则会报错
print(list_1.remove(77))
结果:
None
Traceback (most recent call last):
File "F:/Python/day01/day_03/set.py", line 27, in <module>
print(list_1.remove(77))
KeyError: 77
4、pop
作用:随机删除集合中的一个元素并将删除的元素显示在屏幕上
print(list_1.pop())
print(list_1.pop())
结果:
1
3
5、discard
作用:删除集合中元素,若没有也不会报错
print(list_1.discard(4))
print(list_1.discard(77))
print(list_1)
结果:
None
None
{33, 5, 7, 9, 44, 55}
6、update
作用:批量向集合中添加元素
list_1.update([33,44,55])
print(list_1)
结果:{33, 4, 5, 7, 9, 44, 55}
Python基础(二)之集合的更多相关文章
- Python 基础 二
Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...
- Python基础数据类型之集合
Python基础数据类型之集合 集合(set)是Python基本数据类型之一,它具有天生的去重能力,即集合中的元素不能重复.集合也是无序的,且集合中的元素必须是不可变类型. 一.如何创建一个集合 #1 ...
- Python基础篇(set集合)
Python基础篇(set集合,深浅拷贝) set集合是Python的一个基本类型,一般是不常用.set中的元素是不重复的.无序的里边 的元素必须是可hash的比如int,str,tuple,bool ...
- 『Python基础-11』集合 (set)
# 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...
- 进击的Python【第二章】:Python基础(二)
Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...
- Python基础(二) —— 字符串、列表、字典等常用操作
一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...
- python基础(二)----数据类型
Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...
- Python基础数据类型之集合以及其他和深浅copy
一.基础数据类型汇总补充 list 在循环一个列表时,最好不要删除列表中的元素,这样会使索引发生改变,从而报错(可以从后向前循环删除,这样不会改变未删元素的索引). 错误示范: lis = [,,, ...
- Python基础 之 set集合 与 字符串格式化
数据类型的回顾与总结 可变与不可变1.可变:列表,字典2.不可变:字符串,数字,元组 访问顺序:1.直接访问:数字2.顺序访问:字符串,列表,元祖3.映射:字典 存放元素个数:容器类型:列表,元祖,字 ...
- python基础篇 07set集合 深浅拷贝
本节主要内容:1. 基础数据类型补充2. set集合3. 深浅拷⻉ " ".join方法 循环删除列表中的内容: 错误的 原因:在for循环中,循环到第一个,然后删除,删除之 ...
随机推荐
- JAVA并发框架之Semaphore实现生产者与消费者模型
分类: Java技术 锁和信号量(Semaphore)是实现多线程同步的两种常用的手段.信号量需要初始化一个许可值,许可值可以大于0,也可以小于0,也可以等于0. 如果大于0,表示 ...
- python 新旧类的问题
老式类就是经典类,不是继承自object类.在多继承时采用深度优先遍历父类.新式类就是基类继承自object类 class xxx(object).多继承时采用一种新的C3 算法来遍历父类.实例如下: ...
- Java设计模式(十三) 别人再问你设计模式,叫他看这篇文章
原创文章,转载请务注明出处 OOP三大基本特性 封装 封装,也就是把客观事物封装成抽象的类,并且类可以把自己的属性和方法只让可信的类操作,对不可信的进行信息隐藏. 继承 继承是指这样一种能力,它可以使 ...
- 模块:js实现一个倒计时功能
1.给显示内容加样式 <style> #p1{font-size: large; color: red;} </style> 2.客户端页面 <div id=" ...
- [摘抄]iOS App icon、启动页、图标规范
以下内容都是我在做App时通过自己的经验和精品的分析得来的,希望会帮助到你.但是有时个别情况也要个别分析,要活学活用. 一. App Icon 在设计iOS App Icon时,设计师不需要切圆角, ...
- js数组的队栈操作
<script> //一个数组 var testArray = [1,2,3,4,5]; //shift()方法,返回并移除数组中的第一个元素的值 testArray.shift();// ...
- DOM编程 删除节点
需求: 为每个 li 节点添加一个 confirm(确认对话框): 确定要删除 xx 的信息吗?若确定, 则删除 1,获取li所有节点 var liNodes = document.getElemen ...
- SQL 查询两个字段相同表的不同记录
select b.NativeName from sanleiDB.dbo.Dictionary_Native b where not EXISTS (select a.NativeName from ...
- python整理之(字符串、元组、列表、字典)
一.关于字符串的整理总结 对于字符串的操作常用的有这些: 字符串的操作通过dir()函数可以查看 我们先整理没有下划线的用法,有下划线的暂时不去考虑. 1.capitalize 功能:使字符串的首字母 ...
- Python非阻塞网络通信Howto
在Python中,你使用socket.setblocking(0)使它无阻塞.在C中,它更复杂,(一方面,你需要在BSD风格O_NONBLOCK和几乎不可区分的Posix风味O_NDELAY之间进行选 ...