Python中关于集合的介绍及用法
一、集合的含义及创建方法
集合(set)是一种无序的并且里面存放不同元素的序列。
集合可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建 集合a 集合b
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
二、集合的日常操作方法
1.列表去掉重复的元素
创建一个列表c
c=[1,2,3,1,2]
print(set(a))
结果:
{1, 2, 3}
2.添加元素
(1)add方法
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
a.add("abc")
print(a)
结果:
{1, 2, 3, 4, 5, 6, 'abc'}
(2)update方法
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
a.update("abc")
print(a)
结果:
{1, 2, 3, 4, 5, 6, 'c', 'b', 'a'}
小结:add是单个元素的添加,update是添加一个序列 3.删除元素
(1)discard方法
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
a.discard(5)
print(a)
结果:
{1, 2, 3, 4, 6}
(2)remove方法
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
a.remove(5)
print(a)
结果:
{1, 2, 3, 4, 6} (3)pop方法
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
a.pop()
print(a)
结果:
随机删除一个a里面的元素
总结:remove和discard都可以删除指定元素,区别是如果删除的元素不存在,remove会报错,discard不报错。
4.清空 clear
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
a.clear()
print(a)
结果:
set()
5.统计集合元素个数 len
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(len(a))
结果:
6
三、集合间的关系
1.a集合与b集合的交集
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
e=a.intersection(b)
print(e)
或者是
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a & b)
结果都是
{4, 5, 6}
2.a集合与b集合的并集
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a.union(b))
或者是
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a | b)
结果都是
{1, 2, 3, 4, 5, 6, 7, 8, 9}
3.a集合与b集合的对称差集(去掉交集后的元素)
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a.symmetric_difference(b))
或者是
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a ^ b)
结果都是
{1, 2, 3, 7, 8, 9}
4.判断a是不是b的子集 a<b
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a.issubset(b))
结果:
false
5.判断a是不是b的父集 a>b
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a.issuperset(b))
结果:
false
6.差集
(1)a-b
#在a里不在b集合里的元素
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(a.difference(b))
结果:
{1, 2, 3}
(2)b-a
#在b里不在a集合里的元素
a={1,2,3,4,5,6}
b={4,5,6,7,8,9}
print(b.difference(a))
结果:
{8, 9, 7}
Python中关于集合的介绍及用法的更多相关文章
- Python中生成器和yield语句的用法详解
Python中生成器和yield语句的用法详解 在开始课程之前,我要求学生们填写一份调查表,这个调查表反映了它们对Python中一些概念的理解情况.一些话题("if/else控制流" ...
- python中multiprocessing.pool函数介绍_正在拉磨_新浪博客
python中multiprocessing.pool函数介绍_正在拉磨_新浪博客 python中multiprocessing.pool函数介绍 (2010-06-10 03:46:5 ...
- python中列表元素连接方法join用法实例
python中列表元素连接方法join用法实例 这篇文章主要介绍了python中列表元素连接方法join用法,实例分析了Python中join方法的使用技巧,非常具有实用价值,分享给大家供大家参考. ...
- python 中的集合set
python中,集合(set)是一个无序排列,可哈希, 支持集合关系测试,不支持索引和切片操作,没有特定语法格式, 只能通过工厂函数创建.集合里不会出现两个相同的元素, 所以集合常用来对字符串或元组或 ...
- python中的 try...except...finally 的用法
python中的 try...except...finally 的用法 author:headsen chen date:2018-04-09 16:22:11 try, except, final ...
- Python中的集合类型分类和集合类型操作符解析
集合类型 数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称作集合元素(set elements). Python把这个概念引入到它的集合类型对象里.集合对象是一组无 ...
- python学习之【第七篇】:Python中的集合及其所具有的方法
1.前言 python中的集合set与列表类似,它们最大的区别是集合内不允许出现重复元素,如果在定义时包含重复元素,会自动去重. 集合是无序的,集合中的元素必须是不可变类型.集合可以作为字典的key. ...
- [转载]python中multiprocessing.pool函数介绍
原文地址:http://blog.sina.com.cn/s/blog_5fa432b40101kwpi.html 作者:龙峰 摘自:http://hi.baidu.com/xjtukanif/blo ...
- 14.python中的集合
什么是集合?正如其字面的意思,一堆东西集中合并到一起.乍一听貌似和容器没什么差别,嗯,好吧,集合也算是一种容器. 在学习这个容器有什么不同之前,先看看集合是如何创建的: a = set() #可变集合 ...
随机推荐
- vim配置成c++IDE
mv ~/.vimrc ~/.vimrcbak mv ~/.vim ~/.vimbak git clone https://github.com/handy1989/vim.git mv vim/.v ...
- C#简单代码转移数据库数据
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Data;u ...
- 移植mavlink协议到STM32详细教程
1准备材料, 首先准备一个带串口的stm32程序(这里选用整点原子的官方串口例程这里自己去找不讲)作者:恒久力行 QQ:624668529,然后去mavlink官网下载mavlink源码,这里重点讲解 ...
- 从零开始的全栈工程师——js篇2.6
函数 Var 是js的关键字,用于声明变量,声明在内存模块完成,定义(=)是在执行模块完成. Var可以在内存模块提前(js代码执行前)完成所以有变量提升这个功能. 因为a没有带var,所以不存在变量 ...
- 使用Docx.dll插入图片在Centos 7 上报错:system.DllNotFound:libgdiplus.so
熬了N天,终于把WORD 文档打开替换.插入图片完好,部署,本机测试没有问题 可是一放到服务器(Centos 7) 就提示下面的错误: 度娘一下: https://www.cnblogs.com/xi ...
- vue中background-image图片路径问题
按照以往在css文件中写background:url('图片路径'),完成后加载竟然显示出错,起初以为路径不对,检查了几遍,仍然没有问题.最后百度找答案,发现不少同行都遇到过这种问题,遂记录下自己所采 ...
- js学习的一些想法(有一些来自网络)
javascript开发最佳实践学习 1.给变量和函数命名--变量名和函数名尽量简短 好的变量命名应该是简短易懂的,还有需要避免的陷阱就是在命名中将数值与功能结合. 匈牙利命名法就是一个不错的选择,也 ...
- C# 常见的字符串操作
例1: 遍历字符串中的每一个字符: string src = "aa-b - c-a - d-e- d-e- a- a-b-cc"; foreach(char c in src) ...
- 关于web开发中订单自动超时和自动收货的简单方法(window server)
最近做一个订单自动超时和自动收货的功能,因为以前是用的mysql 存储过程和定时器来完成,这次的业务逻辑相对复杂用以前的方式就不太合适,本来是准备使用定时执行php脚本来实现的,后来发现业务逻辑中使用 ...
- PRD、MRD、BRD的含义
一.PRD的含义 英文简称,PRD(Product Requirement Document),PRD文档中文意思是:产品需求文档. PRD文档是产品项目由“概念化”阶段进入到“图纸化”阶段的最主要的 ...