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. sudo -s 命令 [oh-my-zsh] 提示检测到不安全目录

    运行sudo -s 命令时,[oh-my-zsh] 冒出下面一大堆提示: [oh-my-zsh] Insecure completion-dependent directories detected: ...

  2. 2020.4面试分享(7面收5个offer)

    都说金三银四是找工作的最佳时节,由于本人的个人职业规划跟目前工作内容不太相符(具体原因就不透露了,领导平时也要来这里逛,哈哈),四月份挑选了10多家公司投递简历(公司规模从几十人到上万人都有),参加了 ...

  3. [转载]利用分块传输绕过WAF进行SQL注入

    原理 客户端给服务器发送数据的时候,如果我们利用协议去制作payload,就可以绕过http协议的waf,实现SQL注入 分块传输编码(Chunked transfer encoding)是HTTP中 ...

  4. ADO.Net和Entity Framework的区别联系

    它们有以下几点区别:1,ADO.Net是开发人员自己select.update等写sql语句,来实现对数据库的增删改查等操作:采用EF进行开发操作数据库的时候,只需要操作对象,这样做使开发更方便,此时 ...

  5. search(7)- elastic4s-search-filter模式

    现在我们可以开始探讨ES的核心环节:搜索search了.search又分filter,query两种模式.filter模式即筛选模式:将符合筛选条件的记录作为结果找出来.query模式则分两个步骤:先 ...

  6. python信息收集(二)

        在第二层主机发现中,除了使用arping命令外,还可以使用Kali下自带的一个工具----netdiscover.      netdiscover是一个专门用于二层主机发现的工具,它有两种扫 ...

  7. 关于go的init函数

    亲测,如果加载一个包,如果一个包里的每个文件,均含有init函数,那么均会执行. 目前来看,init的执行顺序,是文件名称的自然排序进行执行的. 并且只是所加载包里的go文件的init函数执行,对于包 ...

  8. elementaryos5安装chrome,修复依赖

    1.首先去下载个chrome:https://www.google.cn/chrome/ 2.尝试安装chrome:sudo dpkg -i google-chrome-stable_current_ ...

  9. How to permit SSH root Login in Ubuntu 18.04

    https://www.ubuntu18.com/ssh-permitrootlogin/ SSH root login is disabled by default in Ubuntu 18.04. ...

  10. MAC攻击及缺陷

    MAC攻击及缺陷 MAC有好几种实现方式 对MAC的攻击 重放攻击 重放攻击的防护 密钥推测攻击 MAC算法的缺陷 第三方证明 防止否认 前面我们在讲HMAC的时候简单讲过了什么是MAC消息认证码. ...