#一,集合类型
###找出两个集合的交集并将结果打印出来
# 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. 数学用语中的 透明 transitive property

    1.透明 https://en.wikipedia.org/wiki/Equivalence_relation In mathematics, an equivalence relation is a ...

  2. zcat,zgrep用法

    为减少日志文件占用的空间,很多情况下我们会将日志文件以天或周为周期打包成tar.gz 包保存.虽然这样做有利空间充分利用,但当我们想查看压缩包内的内容时确很不方便.如果只是一个tar.gz文件,可以将 ...

  3. ini文件读写

    //创建对象:iniFile:=TIniFile.Create(strFile); //写入procedure IEAddFavUrl(FURL, Title: string);var  fPath: ...

  4. JavaScript学习笔记--语法

    代码风格: 每句结尾不用加分号: 单行注释用//,多行注释用/*...需要注释掉的代码....*/ 严格区分大小写 优雅的代码需要注意锁进 基础知识: Number:JavaScript不区分整数和浮 ...

  5. Docker 镜像(五)

    我们都知道,操作系统分为内核和用户空间.对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持.而 Docker 镜像(Image),就相当于是一个 root 文件系统.比 ...

  6. EOS account 中的 Threshold 和 weight 使用

    https://eoscity.io/f/viewtopic.php?f=7&t=17 这篇文章的原文:   (https://steemit.com/eos/@genereos/eos-mu ...

  7. 96A

    #include <iostream> #include <string> #include <cctype> using namespace std; int m ...

  8. 第1章 CLR的执行模型

    1.1将源代码编译成托管代码模块

  9. centos下安卓构建打包太慢

    最近不清楚什么情况,在linux下构建安卓打包时,很慢,很慢...... 之前还是好好的,一个构建三四分钟,现在尽然要两三个小时,人都要崩溃了.... 当时据说公司用的联通网有问题了,正在处理,可是网 ...

  10. [LeetCode] 506. Relative Ranks_Easy tag: Sort

    Given scores of N athletes, find their relative ranks and the people with the top three highest scor ...