#一,集合类型
###找出两个集合的交集并将结果打印出来
# 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:集合的更多相关文章

  1. python爬虫工具集合

    python爬虫工具集合 大家一起来整理吧!强烈建议PR.这是初稿,总是有很多问题,而且考虑不全面,希望大家支持! 源文件 主要针对python3 常用库 urllib Urllib是python提供 ...

  2. 【转】Python数据类型之“集合(Sets)与映射(Mapping)”

    [转]Python数据类型之“集合(Sets)与映射(Mapping)” 一.集合类型(Sets) 集合对象是不同的(不可重复)hashable对象的无序集合.常见用法包括:成员关系测试.移除序列中的 ...

  3. Python序列结构--集合

    集合:元素之间不允许重复 集合属于Python无序可变序列,元素之间不允许重复 集合对象的创建与删除 直接将值赋值给变量即可创建一个集合 >>> a = {3,5}>>& ...

  4. python 中的集合set

    python中,集合(set)是一个无序排列,可哈希, 支持集合关系测试,不支持索引和切片操作,没有特定语法格式, 只能通过工厂函数创建.集合里不会出现两个相同的元素, 所以集合常用来对字符串或元组或 ...

  5. Python的set集合详解

    Python 还包含了一个数据类型 -- set (集合).集合是一个无序不重复元素的集.基本功能包括关系测试和消除重复元素.集合对象还支持 union(联合),intersection(交),dif ...

  6. python入门13 集合set

    set集合与数学中的集合同一个概念,是无序不重复元素组成的. #coding:utf-8 #/usr/bin/python """ 2018-11-10 dinghanh ...

  7. Python中的集合类型分类和集合类型操作符解析

    集合类型    数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称作集合元素(set elements).    Python把这个概念引入到它的集合类型对象里.集合对象是一组无 ...

  8. Python列表、集合与字典(3)

    目录 一.列表 二.集合 三.字典 一.列表 1. 列表初识   列表的使用为处理特定顺序排列的数据提供了便利,列表元素可以是字母.数字或者其他信息,同时所加元素之间不存在任何关系.   在Pytho ...

  9. python学习之【第七篇】:Python中的集合及其所具有的方法

    1.前言 python中的集合set与列表类似,它们最大的区别是集合内不允许出现重复元素,如果在定义时包含重复元素,会自动去重. 集合是无序的,集合中的元素必须是不可变类型.集合可以作为字典的key. ...

  10. python常用模块集合

    python常用模块集合 Python自定义模块 python collections模块/系列 Python 常用模块-json/pickle序列化/反序列化 python 常用模块os系统接口 p ...

随机推荐

  1. HBase实战 | 知乎实时数仓架构演进

    https://mp.weixin.qq.com/s/hx-q13QteNvtXRpNsE5Y0A 作者 | 知乎数据工程团队编辑 | VincentAI 前线导读:“数据智能” (Data Inte ...

  2. Flink - StreamJob

      先看最简单的例子, final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironmen ...

  3. 转:手把手教你如何玩转Solr(包含项目实战)

    原文地址:手把手教你如何玩转Solr(包含项目实战) 参考原文

  4. 图->存储结构->十字链表

    文字描述 十字链表是有向图的另一种链式存储结构. 在十字链表中,对应于有向图中每一条弧有一个结点,对应于每个顶点也有一个结点.这些结点的结构如下所示: 在弧结点中有5个域: 尾域tailvex和头域h ...

  5. Maven之基本概念及特性的基本介绍

    maven最主要的概念是坐标和依赖,这是maven可以极大简化构建过程以及进行项目管理的基础. 坐标 类似于地理位置的坐标,maven的坐标也是用来标记的,不同是它是来标记maven中的不同组件,也就 ...

  6. POJ2274 Long Long Message 字符串

    正解:SA/哈希+二分 解题报告: 传送门! 啊先放下翻译,,,?大意就有两个字符串,求这两个字符串的最长公共子串 先港SA的做法趴 就把两个子串拼接起来,然后题目就变成了求后缀的最长公共前缀了 所以 ...

  7. 简述 cookies 和 session 的区别

    1.cookie 和 session 的区别是:cookie数据保存在客户端,session数据保存在服务器端: 2.两个都可以用来存私密的东西,同样也都有有效期的说法,区别在于session是放在服 ...

  8. ZedBoard上运行linux系统的准备工作框架

    目标:ZedBoard上运行linux系统. 需要什么:图中上色部分. 应该做哪些工作:上色部分之前的所有步骤. 由上图得知,为了顺利在zedboard上构建嵌入式Linux操作系统,我们一般需要如下 ...

  9. 前端 HTML body标签相关内容 常用标签 表单标签 form里面的 label标签介绍

    定义:<label> 标签为 input 元素定义标注(标记). label标签功能:关联input标签文本与表达元素,点击input标签文本时,如同点击表单元素一样. label标签是行 ...

  10. 新辰:共享是SEO的思维 用户是SEO的核心

    大家都知道.SEO一直没有一个能够定义的核心.新辰知道全部的东西里面在互联网领域链接是非常重要的.所以新辰觉得做SEO就是把链接做好.因此,链接对于一个站点来说简单分能够分成两种.内部的链接和外部的链 ...