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-集合的更多相关文章

  1. python基础知识 -- set集合

    Set集合:是Python的一个基本数据类型.一般不是很常用.Set中的元素是不重复的,无序的,里面的元素必须是可hash的(int,str,tuple,bool).我们可以这样来计Set就是dict ...

  2. Python基础知识:集合

    1.集合(set)是一个存放在中括号内的无序,不重复的序列.例如:set = {'1','12','25'} 2.创建集合的两种方法: set = {1,2,3} 中括号直接创建 set = {[1, ...

  3. python基础知识笔记-集合

    集合使用花括号将元素之间用逗号隔开即可.集合的输出里不会出现相同的元素.集合中有并集.交集.差集等,以下为一些简单的表达: def main(): list1=[1,1,2,2,3,3] print( ...

  4. python基础知识(集合)

    集合 可变集合set()/不可变集合frozenset() {}  大写的拉丁字母 用于保存不重复元素.无序不能通过索引来获取 集合的创建 空集合 使用set()函数 变量名 = set() 集合的添 ...

  5. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  6. Python基础知识(六)------小数据池,集合,深浅拷贝

    Python基础知识(六)------小数据池,集合,深浅拷贝 一丶小数据池 什么是小数据池: ​ 小数据池就是python中一种提高效率的方式,固定数据类型使用同一个内存地址 代码块 : ​ 一个文 ...

  7. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  8. python 基础知识(一)

    python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...

  9. python 爬虫与数据可视化--python基础知识

    摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...

  10. python基础知识小结-运维笔记

    接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...

随机推荐

  1. 前后端分离下用jwt做用户认证

    0 前后端分离下的用户信息认证 前端使用Vue+axios,后端使用SpringBoot+SpringSecurity. 为了解决http无状态的问题,我采用jwt(json web token)保存 ...

  2. 3. string

    let str = "my string"; 1. str.startsWith('my'); //true2.str.endsWith('my'); //false3.str.i ...

  3. 【论文笔记】YOLOv4: Optimal Speed and Accuracy of Object Detection

    论文地址:https://arxiv.org/abs/2004.10934v1 github地址:https://github.com/AlexeyAB/darknet 摘要: 有很多特征可以提高卷积 ...

  4. 解释BOM头和去掉方法

    http://www.thinkphp.cn/topic/2592.html 以上是叫你去掉bom头的,因为有些文件加载不出来就是window会以记事本的形式打开,然后默认给我们加了了bom头,有些文 ...

  5. uniqid用法

    uniqid():妙用就是以当前时间微妙为单位,返回的唯一ID 我们可以用到密码加密和接口加密的功能上,比如 $salt = substr(uniqid(rand()), -6);//截取倒数6位$p ...

  6. QT踩坑记录1-Q_OBJECT编译问题

    QT踩坑记录1-Q_OBJECT编译问题 QTC++Bugs 错误输出 Q_OBJECT 宏错误的地方会编译出现这样的错误, 无法找到.... 由于自己不想再看到这个错误, 此处 复制自 参考连接1, ...

  7. 计算2的n次幂htm代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 标准库shelve

    shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...

  9. mybatis源码学习(一):Mapper的绑定

    在mybatis中,我们可以像下面这样通过声明对应的接口来绑定XML中的mapper,这样可以让我们尽早的发现XML的错误. 定义XML: <?xml version="1.0&quo ...

  10. mysql查询连接数

    最近公司的测试服务器数据库经常是连接爆满,几次加大了依旧满了. 明明只有几个人在用这个数据库,但是连接数到了三四百.于是就想是谁一直开着连接不释放,于是写了个SQL查了下连接使用情况. SQL如下: ...