Python3学习之路~2.6 集合操作
集合是一个无序的,不重复的数据组合,它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
常用操作
>>> list1 = [1,4,5,7,3,6,7,9]
>>> list1=set(list1) # 将list变为set,自动去重
>>> print(list1,type(list1))
{1, 3, 4, 5, 6, 7, 9} <class 'set'> >>> s = set([3,5,9,10]) #创建一个数值集合
>>> t = set("Hello") #创建一个唯一字符的集合
>>>
>>> t.add('x') # 添加一项
>>> print(t)
{'o', 'x', 'e', 'l', 'H'} >>> s.update([10,37,42]) # 在s中添加多项
>>> print(s)
{3, 37, 5, 9, 10, 42} >>> t.remove('H') # 使用remove()可以删除一项
>>> print(t)
{'o', 'x', 'e', 'l'} >>> t.pop() # 随机删除,必须无参
'o'
>>> print(t)
{'x', 'e', 'l'} >>> t.discard('e') # 使用discard()删除
>>> print(t)
{'x', 'l'} >>> len(s) # set的长度
6 >>> x in s # 测试x是否是s的成员
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined >>> x not in s # 测试x是否不是s的成员
True >>> print(s)
{3, 37, 5, 9, 10, 42}
>>> y=set([3,5,9,8,4])
>>>
>>> s<=y
False
>>> s.issubset(y) # 同s<=y,测试是否s中的每一个元素都在y中
False >>> s>=y
False
>>> s.issuperset(y) # 同s>=y,测试是否y中的每一个元素都在s中
False >>> s&y
{9, 3, 5}
>>> s.intersection(y) # 同s&y,交集,返回一个新的set包含s和y中的公共元素
{9, 3, 5} >>> s|y
{3, 4, 37, 5, 8, 9, 42, 10}
>>> s.union(y) # 同s|y,并集,返回一个新的set包含s和y中的每一个元素
{3, 4, 37, 5, 8, 9, 42, 10} >>> s-y
{10, 42, 37}
>>> s.difference(y) # 同s-y,差集(项在s中,但不在y中),返回一个新的set包含s中有但是y中没有的元素
{10, 42, 37} >>> s^y
{4, 42, 37, 8, 10}
>>> s.symmetric_difference(y) # 同s^y,对称差集(项在y或s中,但不会同时出现在二者中),返回一个新的set包含s和y中不重复的元素
{4, 42, 37, 8, 10} >>> s.copy() #返回 set “s”的一个浅复制
{3, 42, 37, 5, 9, 10}
Python3学习之路~2.6 集合操作的更多相关文章
- Python3学习之路~2.7 文件操作
对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 Somehow, it seems the love I knew was always the ...
- Python3学习之路~2.3 字符串操作
字符串操作 特性:不可修改 name="my \tname is alex" print(name.capitalize()) #首字母变大写 print('Alex LI'.ca ...
- Python3学习之路~2.4 字典操作
字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划.字母来查对应页的详细内容. 定义字典(dictionary) info = { 'stu1101': "Amy ...
- Python3学习之路~2.8 文件操作实现简单的shell sed替换功能
程序:实现简单的shell sed替换功能 #实现简单的shell sed替换功能,保存为file_sed.py #打开命令行输入python file_sed.py 我 Alex,回车后会把文件中的 ...
- Python3学习之路~0 目录
目录 Python3学习之路~2.1 列表.元组操作 Python3学习之路~2.2 简单的购物车程序 Python3学习之路~2.3 字符串操作 Python3学习之路~2.4 字典操作 Pytho ...
- [原创]java WEB学习笔记66:Struts2 学习之路--Struts的CRUD操作( 查看 / 删除/ 添加) 使用 paramsPrepareParamsStack 重构代码 ,PrepareInterceptor拦截器,paramsPrepareParamsStack 拦截器栈
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Python3学习之路~2.1 列表、元组操作
列表 列表是我们以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作. 定义列表(list) names=['Amy','Bob','Cindy','David'] 通过下标访问列 ...
- Python3学习之路~9.4 队列、生产者消费者模型
一 队列queue 当必须在多个线程之间安全地交换信息时,队列在线程编程中特别有用. 队列的作用:1.解耦,使程序直接实现松耦合 2.提高处理效率 列表与队列都是有顺序的,但是他们之间有一个很大的区别 ...
- Python3学习之路
python基础知识点 1.python基础知识点汇总 2.python常用数据类型 3.python之列表 4.python之字符串 5.python常用数据运算符 6.python之字典 7.py ...
随机推荐
- Python正则表达式 学习笔记
python第一个正则表达式 1. import re : python正则表达式模块 2. 第一个正则表达式 re.compile(r'imooc') pattern.match('imooc py ...
- Qt编写密钥生成器+使用demo(开源)
在很多商业软件中,需要提供一些可以试运行的版本,这样就需要配套密钥机制来控制,纵观大部分的试用版软件,基本上采用以下几种机制来控制.1:远程联网激活,每次启动都联网查看使用时间等,这种方法最完美,缺点 ...
- JS案例 - 基于vue的移动端长按手势
================================惯例碎碎念前言================================ 当时首先想到要做长按事件的时候,我想到的是vue内部的自 ...
- 使用gdb调试theos tweak插件
查看设备日志tail -f /var/log/syslog或者 Mobilesubstrate injects your dylib into the target process. Debuggin ...
- 【BZOJ2658】[Zjoi2012]小蓝的好友(mrx) 平衡树维护笛卡尔树+扫描线
[BZOJ2658][Zjoi2012]小蓝的好友(mrx) Description 终于到达了这次选拔赛的最后一题,想必你已经厌倦了小蓝和小白的故事,为了回馈各位比赛选手,此题的主角是贯穿这次比赛的 ...
- [工具] 将Sublime Text 3配置为C++代码编辑器
{ "path": "C:\\Dev-Cpp\\bin", "cmd": ["g++.exe", "${fil ...
- OC开发_整理笔记——友盟分享(社交化组件)
0.友盟的地址 http://dev.umeng.com,进入友盟,在使用友盟之前我们需要注册账号获取key (1 进入我们的产品,添加新应用 (2 输入信息,然后就会获取到key 1.选择社会化分 ...
- 关于Django的序列化
阅读目录 Django支持的序列化格式 Django的序列化 Django支持的序列化格式 1 2 3 4 Identifier Information xml Serializes to and f ...
- 【巷子】---Mock---基本使用
一.mock解决的问题 开发时,后端还没完成数据输出,前端只好写静态模拟数据.数据太长了,将数据写在js文件里,完成后挨个改url.某些逻辑复杂的代码,加入或去除模拟数据时得小心翼翼.想要尽可能还原真 ...
- PowerDesigner 把Comment/name 互转
转载:https://www.cnblogs.com/cxd4321/archive/2009/03/07/1405475.html 在使用PowerDesigner对数据库进行概念模型和物理模型设计 ...