python 基础知识5-集合
1、集合set概念:
集合是无序的,不重复的数据集合,它里面的元素是可哈希的(不可变类型),但是集合本身是不可哈希(所以集合做不了字典的键)的。以下是集合最重要的两点:
1、去重,把一个列表变成集合,就自动去重了。
2、关系测试,测试两组数据之前的交集、差集、并集等关系。
2、集合创建:
set1 = set({1,2,3,4,2,3,'dabai'})
print(set1)# {1, 2, 3, 4, 'dabai'}
3、集合增
#add(无序)
set1 = {'大白','小白','alex'}
set1.add('taibai')
print(set1)# {'小白', '大白', 'taibai', 'alex'} #update()无需迭代增加
set1.update('abc')
print(set1)# {'c', 'b', '小白', 'alex', '大白', 'a'}
4、集合删
#pop(随机删,有返回值)
set1 = {'大白','小白','alex'}
set1.pop()print(set1)# {'alex', '大白'}
#remove(按元素删除)
set1 = {'大白','小白','alex'}
set1.remove('小白')
print(set1)# {'大白', 'alex'}
#clear(清空集合)
set1.clear()
print(set1)# set()
del set1
print(set1)#删除集合
5、集合其他操作
#交集 & 或 intersection
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1.intersection(set2))# {4, 5}
print(set1 & set2)# {4, 5} #并集 | 或 union
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 | set2)# {1, 2, 3, 4, 5, 6, 7, 8}
print(set1.union(set2))# {1, 2, 3, 4, 5, 6, 7, 8} #反交集 ^ 或 symmetric_difference
set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
print(set1 ^ set2)# {1, 2, 3, 6, 7, 8}
print(set1.symmetric_difference(set2))# {1, 2, 3, 6, 7, 8} #差集(独有的) - 或 difference
print(set1 - set2)#{1, 2, 3}
print(set1.difference(set2))#{1, 2, 3} #子集,超集
set1 = {1,2,3}
set2 = {1,2,3,4,5,6} print(set1 < set2) # True
print(set1.issubset(set2)) # 这两个相同,都是说明set1是set2子集。 print(set2 > set1) # True
print(set2.issuperset(set1)) # 这两个相同,都是说明set2是set1超集。
6、frozenset不可变集合,让集合变成不可变类型。
li = [1, 2, 33, 4, 5, 6]
s = frozenset(li)
print(s,type(s))#frozenset({1, 2, 33, 4, 5, 6}) <class 'frozenset'>
python 基础知识5-集合的更多相关文章
- python基础知识 -- set集合
Set集合:是Python的一个基本数据类型.一般不是很常用.Set中的元素是不重复的,无序的,里面的元素必须是可hash的(int,str,tuple,bool).我们可以这样来计Set就是dict ...
- Python基础知识:集合
1.集合(set)是一个存放在中括号内的无序,不重复的序列.例如:set = {'1','12','25'} 2.创建集合的两种方法: set = {1,2,3} 中括号直接创建 set = {[1, ...
- python基础知识笔记-集合
集合使用花括号将元素之间用逗号隔开即可.集合的输出里不会出现相同的元素.集合中有并集.交集.差集等,以下为一些简单的表达: def main(): list1=[1,1,2,2,3,3] print( ...
- python基础知识(集合)
集合 可变集合set()/不可变集合frozenset() {} 大写的拉丁字母 用于保存不重复元素.无序不能通过索引来获取 集合的创建 空集合 使用set()函数 变量名 = set() 集合的添 ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- Python基础知识(六)------小数据池,集合,深浅拷贝
Python基础知识(六)------小数据池,集合,深浅拷贝 一丶小数据池 什么是小数据池: 小数据池就是python中一种提高效率的方式,固定数据类型使用同一个内存地址 代码块 : 一个文 ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
随机推荐
- asp.net core webapi 配置跨域处理
在Startup.cs文件中的ConfigureServices方法中加入如下代码: //配置跨域处理 services.AddCors(options => { options.AddPoli ...
- 数据结构(C语言版)---二叉树
1.二叉树:任意一个结点的子结点个数最多两个,且子结点的位置不可更改,二叉树的子树有左右之分. 1)分类:(1)一般二叉树(2)满二叉树:在不增加树的层数的前提下,无法再多添加一个结点的二叉树就是满二 ...
- SQLi —— 逗号,空格,字段名过滤突破
前言 出于上海大学生网络安全大赛的一道easysql,促使我积累这篇文章.因为放了大部分时间在Decade和Babyt5上,easysql一点没看,事后看了WP,发现看不懂怎么回事,于是了解了一番. ...
- v&n赛 ML 第一步(python解决)
题目链接 给了70组x,y,根据提示,是求拟合曲线,再通过x求y 知道MATLAB应该录入就能解决吧,但是没下这软件,试试用python解决 #coding:utf- from pwn import ...
- pytorch 中LSTM模型获取最后一层的输出结果,单向或双向
单向LSTM import torch.nn as nn import torch seq_len = 20 batch_size = 64 embedding_dim = 100 num_embed ...
- 手把手编写自己的PHP MVC框架实例教程
1 什么是MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式. MVC把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Contro ...
- Cannot find or open the PDB file
打开VS:工具 --> 选项 --> 调试-->符号接下来就是选择Microsoft,然后确认
- [SVN] Couldn't perform atomic initialization
svn: Commit failed (details follow): svn: Couldn't perform atomic initialization It was because the ...
- Java反射机制概念及使用
反射机制 —— 将类中的所有成员反射成对于的类. 以“com.test.Person”类为例 转换对应的类 获取方法 ...
- 美版健康码要来了!苹果Google被网友质疑:这是变相的监视系统吗?
4 月 30 日消息,据外媒报道,由苹果和谷歌合作开发一个冠状病毒追踪系统将在 5 月 1 日正式上架,今天已经进入测试阶段. 图自:techcrunch 这款应用可以让 iOS 和 Android ...