集合(set)

集合主要有两种用处:

1.去除相同的元素

2.关系测试,两个列表中的元素的关系

按照‘alex’讲的自己写了源码笔记,下面就直接贴出来:

  1. #!/usr/bin/env python
  2. # -*- coding utf-8 -*-
  3. # Author:qinjiaxi
  4. '''集合有两种用处:
  5. 1.去同
  6. 2.关系测试'''
  7. list_1 = [1, 2, 3, 5, 2, 5, 7]
  8. list_1 = set(list_1)
  9. list_2 = [1, 10, 2, 9, 8, 1]
  10. list_2 = set(list_2)
  11. #交集
  12. print(list_1.intersection(list_2))
  13. print(list_1 & list_2)
  14. #并集
  15. print(list_1.union(list_2))
  16. print(list_1 | list_2)
  17. #差集
  18. print(list_1.difference(list_2))#返回list_1中有的list_2中没有的
  19. print(list_1 - list_2)
  20. #子集
  21. print(list_1.issubset(list_2))#判断list_1是不是list_2的子集,返回布尔值
  22. #父集
  23. print(list_1.issuperset(list_2))#判断list_1是不是list_2的父集,返回布尔值
  24. #对称差集
  25. print(list_1.symmetric_difference(list_2))#把list_1list_2里面都没有的取出来
  26. print(list_1 ^ list_2)
  27. #关系测试
  28. print(list_1.isdisjoint(list_2))#如果两个没有重复元素返回True,否则为False
  29.  
  30. #添加(add)
  31. list_1.add(999)#添加一项
  32. list_1.update([11, 222, 223])#添加多项(用的少)
  33. #删除(modifiy)
  34. list_1.remove(999)#指定元素删除(元素不存在就报错)
  35. list_1.pop()#随机删除并返回元素
  36. list_1.discard(999)#指定元素删除(元素不存在不会报错,如果打印出来就返回None
  37.  
  38. #集合长度
  39. len(set)
  40. #测试x是否在set中
  41. # x in set
  42. # x not in set

ql的python学习之路-day4的更多相关文章

  1. ql的python学习之路-day15

    前言:本节主要讲解的是文件路径 在实际的软件开发中会设计一个项目的文件目录,按照执行包bin.配置包config.核心包core等来设计,在执行包里面要运行核心包里的主程序mian,由于不在同一级的目 ...

  2. ql的python学习之路-day14

    前言:本节主要学习时间模块time.datetime python中的几种时间表示:1)时间戳  2)格式化的字符串时间 3)struct_time元组格式的时间 time.datetime模块源码: ...

  3. ql的python学习之路-day13

    前言:本节主要学习模块 一.模块的定义 模块:本质是.py结尾的python文件(文件名:test.py,对应的模块是:test),用来从逻辑上组织python代码(变量.函数.类.逻辑,本质是实现一 ...

  4. ql的python学习之路-day12

    前言:这一节主要学习json和pickle 背景: 相信大家在日常生活中都有接触大型的网络游戏,打游戏的时候都是自己在电脑上操作,自己刷怪升级:当然也会碰到中午去吃饭然后挂机的情况,让电脑自动的刷怪, ...

  5. ql的python学习之路-day11

    前言:本节主要学习python内置的方法 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:qinjiaxi from collections ...

  6. ql的python学习之路-day10

    前言:本节主要讲解迭代器和生成器 迭代器&生成器 一.生成器(generator) 循环占用大部分的容量内存,如果只需要循环前面的几个结果那怎么样做呢,在python中有一种一边循环一边计算的 ...

  7. ql的python学习之路-day9

    前言:本节主要学习装饰器 一.装饰器 定义:本质上是个函数,用来装饰其他函数:(就是为其他函数添加附加功能) 原则:1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 以上两点可以总 ...

  8. ql的python学习之路-day8

    前言:本节主要学习的是函数的全局变量和局部变量以及递归 一.全局变量和局部变量 定义在函数外并且在函数头部的变量,叫做全局变量,全局变量在整个代码中都生效. 局部变量只在函数里生效,这个函数就叫做这个 ...

  9. ql的python学习之路-day7

    函数与函数式编程 一.编程模式分为三种: 1.面向对象编程:类----->关键字class 2.面向过程编程:过程----->关键字def,没有return 3.函数式编程:函数----- ...

随机推荐

  1. pytorch中CUDA类型的转换

    import torch import numpy as np device = torch.device("cuda:0" if torch.cuda.is_available( ...

  2. var、let、const

    var.let.const之间的区别和使用 1.var声明变量可以重复声明,而let不可以重复声明 let a = 1; let a = 2; var b = 3; var b = 4; a // I ...

  3. c语言----- 冒泡排序 for while do-while 递归练习

    1. 冒泡排序简介(默认从小到大排序) 核心思想:只比较相邻的两个元素,如果满足条件就交换    5 8 2 1 6 9 4 3 7 0 目标:0 1 2 3 4 5 6 7 8 9 第一次排序: 5 ...

  4. Fibonacci Sequence

    0 递归 斐波那契数列定义: $F(n)=\left\{\begin{matrix}0, & n=0\\ 1, & n=1\\ F(n-1)+F(n-2), & n>1\ ...

  5. 在Windows中快速配置vim

    vim原本是在Linux中的编辑器,如果使用熟练写代码速度可以远高于其它编辑器 当然很多OI比赛也会要求在Linux中进行 然而: 想学Linux,首先要有一个Linux,但有了Linux,这个直播间 ...

  6. javaweb系统调优方案

    1. java代码优化 java代码优化6大原则 : https://blog.csdn.net/bunny1024/article/details/72803708 java代码优化: https: ...

  7. idea使用maven在install时跳过测试

    在右边1处点开maven面板,然后选中2,会发现test已经×掉了,再进行install时将跳过test

  8. 如何使用简单 PHP 对象 POPO (Plain old PHP Object) 来优化你的代码

    如果您熟悉 Java,可能您已经知道 POJO (普通 Java 类). 因为 POJO 这个词最早是由 Martin Fowler.Rebecca Parsons 和 Josh MacKenzie ...

  9. Java——一文读懂Spring MVC执行流程

    说到Spring MVC执行流程,网上有很多这方面的文章介绍,但是都不太详细,作为一个初学者去读会有许多不理解的地方,今天这篇文章记录一下我学习Spring MVC的心得体会 话不多说,先上图: Sp ...

  10. Datasource Server returns invalid timezone问题

    今天在学习一个项目的时候,idea中的datasource没有配置,后来发现mysql没有连接,于是下载了最新版的jdbc.jar包,连接mysql完成后,想test一下mysql connect,结 ...