ql的python学习之路-day4
集合(set)
集合主要有两种用处:
1.去除相同的元素
2.关系测试,两个列表中的元素的关系
按照‘alex’讲的自己写了源码笔记,下面就直接贴出来:
- #!/usr/bin/env python
- # -*- coding utf-8 -*-
- # Author:qinjiaxi
- '''集合有两种用处:
- 1.去同
- 2.关系测试'''
- list_1 = [1, 2, 3, 5, 2, 5, 7]
- list_1 = set(list_1)
- list_2 = [1, 10, 2, 9, 8, 1]
- list_2 = set(list_2)
- #交集
- print(list_1.intersection(list_2))
- print(list_1 & list_2)
- #并集
- print(list_1.union(list_2))
- print(list_1 | list_2)
- #差集
- print(list_1.difference(list_2))#返回list_1中有的list_2中没有的
- print(list_1 - list_2)
- #子集
- print(list_1.issubset(list_2))#判断list_1是不是list_2的子集,返回布尔值
- #父集
- print(list_1.issuperset(list_2))#判断list_1是不是list_2的父集,返回布尔值
- #对称差集
- print(list_1.symmetric_difference(list_2))#把list_1和list_2里面都没有的取出来
- print(list_1 ^ list_2)
- #关系测试
- print(list_1.isdisjoint(list_2))#如果两个没有重复元素返回True,否则为False
- #添加(add)
- list_1.add(999)#添加一项
- list_1.update([11, 222, 223])#添加多项(用的少)
- #删除(modifiy)
- list_1.remove(999)#指定元素删除(元素不存在就报错)
- list_1.pop()#随机删除并返回元素
- list_1.discard(999)#指定元素删除(元素不存在不会报错,如果打印出来就返回None)
- #集合长度
- len(set)
- #测试x是否在set中
- # x in set
- # x not in set
ql的python学习之路-day4的更多相关文章
- ql的python学习之路-day15
前言:本节主要讲解的是文件路径 在实际的软件开发中会设计一个项目的文件目录,按照执行包bin.配置包config.核心包core等来设计,在执行包里面要运行核心包里的主程序mian,由于不在同一级的目 ...
- ql的python学习之路-day14
前言:本节主要学习时间模块time.datetime python中的几种时间表示:1)时间戳 2)格式化的字符串时间 3)struct_time元组格式的时间 time.datetime模块源码: ...
- ql的python学习之路-day13
前言:本节主要学习模块 一.模块的定义 模块:本质是.py结尾的python文件(文件名:test.py,对应的模块是:test),用来从逻辑上组织python代码(变量.函数.类.逻辑,本质是实现一 ...
- ql的python学习之路-day12
前言:这一节主要学习json和pickle 背景: 相信大家在日常生活中都有接触大型的网络游戏,打游戏的时候都是自己在电脑上操作,自己刷怪升级:当然也会碰到中午去吃饭然后挂机的情况,让电脑自动的刷怪, ...
- ql的python学习之路-day11
前言:本节主要学习python内置的方法 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:qinjiaxi from collections ...
- ql的python学习之路-day10
前言:本节主要讲解迭代器和生成器 迭代器&生成器 一.生成器(generator) 循环占用大部分的容量内存,如果只需要循环前面的几个结果那怎么样做呢,在python中有一种一边循环一边计算的 ...
- ql的python学习之路-day9
前言:本节主要学习装饰器 一.装饰器 定义:本质上是个函数,用来装饰其他函数:(就是为其他函数添加附加功能) 原则:1.不能修改被装饰的函数的源代码 2.不能修改被装饰的函数的调用方式 以上两点可以总 ...
- ql的python学习之路-day8
前言:本节主要学习的是函数的全局变量和局部变量以及递归 一.全局变量和局部变量 定义在函数外并且在函数头部的变量,叫做全局变量,全局变量在整个代码中都生效. 局部变量只在函数里生效,这个函数就叫做这个 ...
- ql的python学习之路-day7
函数与函数式编程 一.编程模式分为三种: 1.面向对象编程:类----->关键字class 2.面向过程编程:过程----->关键字def,没有return 3.函数式编程:函数----- ...
随机推荐
- pytorch中CUDA类型的转换
import torch import numpy as np device = torch.device("cuda:0" if torch.cuda.is_available( ...
- var、let、const
var.let.const之间的区别和使用 1.var声明变量可以重复声明,而let不可以重复声明 let a = 1; let a = 2; var b = 3; var b = 4; a // I ...
- 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 ...
- Fibonacci Sequence
0 递归 斐波那契数列定义: $F(n)=\left\{\begin{matrix}0, & n=0\\ 1, & n=1\\ F(n-1)+F(n-2), & n>1\ ...
- 在Windows中快速配置vim
vim原本是在Linux中的编辑器,如果使用熟练写代码速度可以远高于其它编辑器 当然很多OI比赛也会要求在Linux中进行 然而: 想学Linux,首先要有一个Linux,但有了Linux,这个直播间 ...
- javaweb系统调优方案
1. java代码优化 java代码优化6大原则 : https://blog.csdn.net/bunny1024/article/details/72803708 java代码优化: https: ...
- idea使用maven在install时跳过测试
在右边1处点开maven面板,然后选中2,会发现test已经×掉了,再进行install时将跳过test
- 如何使用简单 PHP 对象 POPO (Plain old PHP Object) 来优化你的代码
如果您熟悉 Java,可能您已经知道 POJO (普通 Java 类). 因为 POJO 这个词最早是由 Martin Fowler.Rebecca Parsons 和 Josh MacKenzie ...
- Java——一文读懂Spring MVC执行流程
说到Spring MVC执行流程,网上有很多这方面的文章介绍,但是都不太详细,作为一个初学者去读会有许多不理解的地方,今天这篇文章记录一下我学习Spring MVC的心得体会 话不多说,先上图: Sp ...
- Datasource Server returns invalid timezone问题
今天在学习一个项目的时候,idea中的datasource没有配置,后来发现mysql没有连接,于是下载了最新版的jdbc.jar包,连接mysql完成后,想test一下mysql connect,结 ...