Python记录3:集合
#一,集合类型
###找出两个集合的交集并将结果打印出来
# python_stu=['egon','alex','kevin','王大炮','李二丫']
# linux_stu=['张铁蛋','刘铜蛋','赵金蛋','alex','kevin','oldboy']
# res=[]
# for stu1 in python_stu:
# if stu1 in linux_stu:
# res.append(stu1)
# print(res)
#
#2 集合
# 定义方式:在{}用逗号分割开多个元素,但是集合内元素必须要满足一下特点
#2.1: 必须是不可变类型
#2.2: 不能重复
#2.3: 集合内元素无序
# s={1,1,1,1,1,1} #s=set({1,1,1,1,1,1})
# print(s)
# print(type(s)) # s1=set('hello')
# print(s1)
# print(type(s1)) # s={}
# print(type(s))
#这样定义一个空的,打印出来的是一个字典
#要定义一个集合必须这样定义
# s=set()
# print(s,type(s)) # s={'egon','alex','kevin','oldboy'}
# print(s,type(s)) # 3、常用操作+内置的方法
#优先掌握的操作:(*****)
#1、长度len
# s={'egon','alex','kevin','oldboy'}
# print(len(s))
#2、成员运算in和not in
# s={'egon','alex','kevin','oldboy'}
# print('egon' in s) # python_stu={'egon','alex','kevin','王大炮','李二丫'}
# for item in python_stu:
# print(item)
# linux_stu={'张铁蛋','刘铜蛋','赵金蛋','alex','kevin','oldboy'}
#3、|合集:取两个集合合并后的结果,例如:取老男孩所有报名的学生姓名
# print(python_stu | linux_stu)
# print(python_stu.union(linux_stu)) # python_stu=python_stu.union(linux_stu)
# python_stu.update(linux_stu)
# print(python_stu) #4、&交集: 取两个集合共同的部分,例如:取同时报名两门课程的学员
# print(python_stu & linux_stu)
# print(python_stu.intersection(linux_stu))
# python_stu.intersection_update(linux_stu) #python_stu=python_stu.intersection(linux_stu)
# print(python_stu) #5、-差集: 取存在于左边结合但不存在与右面集合的元素,例如:取只报名python课程的学员
# print(python_stu - linux_stu)
# print(python_stu.difference(linux_stu)) #6、^对称差集:例如:取没有同时报名两门课程的学员
# print((python_stu - linux_stu) | (linux_stu - python_stu))
# print(python_stu ^ linux_stu)
# print(python_stu.symmetric_difference(linux_stu)) #7、==判断是否相等,集合中只要元素相等,集合就相等,集合是无序的
# s1={1,2,3}
# s2={3,2,1}
# print(s1 == s2) #8、父集:>= print(s1.issuperset(s2))
#9、子集:<= print(s2.issubset(s1))
# s1={1,2,3,4}
# s2={1,2,3}
# print(s1 >= s2)
# print(s1.issuperset(s2))
# print(s2.issubset(s1)) # 集合類型其他内置方法(**)
##pop 从最后面弹出来 一个一个按照顺序弹出来
# s1={'a','b','c'}
# print(s1.pop())
# print(s1)
# print(s1.pop())
# print(s1)
# print(s1.pop())
# print(s1) # res=s1.remove('b')
# print(s1)
# print(res)
# s1.remove('d')
# s1.discard('d')
# print(s1) # s1.add('d')
# print(s1) # s1={1,2,3}
# s2={6,4,5}
# print(s1.isdisjoint(s2))
#判断两个集合是否有交集
# ======================================该类型总结====================================
# 集合是存多个值的
# 无序的
# 可变类型(1、可变:值变,id不变。可变==不可hash 2、不可变:值变,id就变。不可变==可hash) # s1={1,2,3}
# print(id(s1))
# s1.update({4,5,6})
# print(s1)
# print(id(s1)) # 去重:
# stus=['egon','egon','egon','kevin',1,2,3,'alex']
# res=set(stus)
# print(list(res)) #去重的局限性:
#1. 被去重的元素必須是不可变类型
#2. 不能保证原来的顺序 # l=[
# {'name':'egon','age':18,'sex':'male'},
# {'name':'alex','age':73,'sex':'male'},
# {'name':'kevin','age':20,'sex':'female'},
# {'name':'egon','age':18,'sex':'male'},
# {'name':'egon','age':18,'sex':'male'},
# ]
# # print({'name':'egon','age':18,'sex':'male'} in l)
# l1=[]
# for dic in l:
# if dic not in l1:
# l1.append(dic)
# print(l1)
Python记录3:集合的更多相关文章
- python爬虫工具集合
python爬虫工具集合 大家一起来整理吧!强烈建议PR.这是初稿,总是有很多问题,而且考虑不全面,希望大家支持! 源文件 主要针对python3 常用库 urllib Urllib是python提供 ...
- 【转】Python数据类型之“集合(Sets)与映射(Mapping)”
[转]Python数据类型之“集合(Sets)与映射(Mapping)” 一.集合类型(Sets) 集合对象是不同的(不可重复)hashable对象的无序集合.常见用法包括:成员关系测试.移除序列中的 ...
- Python序列结构--集合
集合:元素之间不允许重复 集合属于Python无序可变序列,元素之间不允许重复 集合对象的创建与删除 直接将值赋值给变量即可创建一个集合 >>> a = {3,5}>>& ...
- python 中的集合set
python中,集合(set)是一个无序排列,可哈希, 支持集合关系测试,不支持索引和切片操作,没有特定语法格式, 只能通过工厂函数创建.集合里不会出现两个相同的元素, 所以集合常用来对字符串或元组或 ...
- Python的set集合详解
Python 还包含了一个数据类型 -- set (集合).集合是一个无序不重复元素的集.基本功能包括关系测试和消除重复元素.集合对象还支持 union(联合),intersection(交),dif ...
- python入门13 集合set
set集合与数学中的集合同一个概念,是无序不重复元素组成的. #coding:utf-8 #/usr/bin/python """ 2018-11-10 dinghanh ...
- Python中的集合类型分类和集合类型操作符解析
集合类型 数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称作集合元素(set elements). Python把这个概念引入到它的集合类型对象里.集合对象是一组无 ...
- Python列表、集合与字典(3)
目录 一.列表 二.集合 三.字典 一.列表 1. 列表初识 列表的使用为处理特定顺序排列的数据提供了便利,列表元素可以是字母.数字或者其他信息,同时所加元素之间不存在任何关系. 在Pytho ...
- python学习之【第七篇】:Python中的集合及其所具有的方法
1.前言 python中的集合set与列表类似,它们最大的区别是集合内不允许出现重复元素,如果在定义时包含重复元素,会自动去重. 集合是无序的,集合中的元素必须是不可变类型.集合可以作为字典的key. ...
- python常用模块集合
python常用模块集合 Python自定义模块 python collections模块/系列 Python 常用模块-json/pickle序列化/反序列化 python 常用模块os系统接口 p ...
随机推荐
- windows hook 钩子
windows hook 钩子 场景: 1.打印机 Ctrl+P弹出支付窗口,付款成功后打印
- [archlinux][crypto] 从T450迁移archlinux操作系统至T460s笔记本
从T450笔记本迁移archlinux操作系统之T460s笔记本,同时: 1. 使用cryptsetup做底层块加密. 2. 全新使用btrfs文件系统. 一,硬盘分区. 1T的SSD,使用U ...
- day2_jmeter断言
断言就是:检查返回结果,测试是否通过,就是自动帮你校验结果用的 1)添加响应断言 我们模式匹配规格选择包括
- java JDBC (六) org.apache.commons.dbutils 增删改
dbutils是apache封装了JDBC的工具类,比mysql-connector更方便些 下载地址:http://commons.apache.org/proper/commons-dbutils ...
- es的scoll滚动查询技术
如果一次性要查出来比如10万条数据,那么性能会很差,此时一般会采取用scoll滚动查询,一批一批的查,直到所有数据都查询完处理完 使用scoll滚动搜索,可以先搜索一批数据,然后下次再搜索一批数据,以 ...
- es调用脚本
1.内部脚本("script" : "ctx._source" 是内部定义好的获取_source数据的方式,不用改变)POST /index/type/id/_ ...
- 5分钟简述Spring中的DI与AOP
Spring的两个核心特性: 依赖注入(dependency injection,DI) 面向切面编程(aspect oriented programming,AOP) 依赖注入(dependency ...
- SQL存储过程分页
CREATE PROC ZDY_FY(@Pages INT, @pageRow INT) --@Pages第几页 @pageRow每页显示几行 AS BEGIN DECLARE @starNum IN ...
- 初学git
初学git,总结了一点东西,可能有理解和操作的不到位的地方,还有就是这个是我之前写在word上的,因为CSDN上不能直接上传,所以拷贝的过程中也可能有其他问题.发的的朋友还望指正... 1.找到“参与 ...
- js将一位数组分割成每三个一组
var data = [ {name:'Liming',age:'25'}, {name:'Liming',age:'25'}, {name:'Liming',age:'25'}, { ...