集合运算

Python操作Redis

走远了吗. 提交于 2019-12-30 00:54:57
昨天,我们讨论了python如何连接redis。今天我们要学习如何用python操作redis的数据。 这里,再补充一下。redis是key-value形式的数据库。可以存储多种格式的数据。 今天,我们就是尝试下,这些常用的api。 1.设置数据: r = redis.Redis(host='127.0.0.1', port=6379) #若是key存在,就修改,不存在,就添加 r.set('zcx', '123999') #time:是指缓存过期时间,单位秒 r.setex(key,value, time) #time:是指缓存过期时间,单位秒 r.setex(key,value, time) #time:是指缓存过期时间,单位毫秒 r.psetex(key,value, time) 这两个,都是批量设置 r.mset(zcx='123', zcx1='456') r.mget({"zcx": '888', "zcx1": '999'}) 2.获取数据 get(name) 批量获取: r.mget("zcx", "zcx1") li = ["zcx", "zcx1"] r.mget(li) 3.获取原来的值并设置新的值:注意get 和set拼起来的 getset(name, value) 4.按数据内容的长度取值 getrange(key, start, end) print(r

python数据结构

[亡魂溺海] 提交于 2019-12-29 01:55:43
Python 有许多内建的数据结构。如果你困惑于什么是数据结构,那么可以参考一下 Wikipedia 。 简单的来说,数据结构(data structure)是计算机中存储、组织数据的方式。比如我们之前的课程中使用过的列表就是一种数据结构,在这里我们还会深入学习它。 知识点 列表的方法与列表元素的删除 将列表用作栈和队列 列表推导式 元组、集合、字典的创建与操作 enumerate() 和 zip() 函数 实验步骤 1. 列表 >>> a = [23, 45, 1, -3434, 43624356, 234] >>> a.append(45) >>> a [23, 45, 1, -3434, 43624356, 234, 45] 首先我们建立了一个列表 a 。然后调用列表的方法 a.append(45) 添加元素 45 到列表末尾。你可以看到元素 45 已经添加到列表的末端了。有些时候我们需要将数据插入到列表的任何位置,这时我们可以使用列表的 insert() 方法。 >>> a.insert(0, 1) # 在列表索引 0 位置添加元素 1 >>> a [1, 23, 45, 1, -3434, 43624356, 234, 45] >>> a.insert(0, 111) # 在列表索引 0 位置添加元素 111 >>> a [111, 1, 23, 45, 1, -3434

python集合(set)类型的操作

本小妞迷上赌 提交于 2019-12-28 01:16:48
(原文链接)http://blog.csdn.net/business122/article/details/7541486#python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算. sets 支持 x in set, len(set),和 for x in set。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持 indexing, slicing, 或其它类序列(sequence-like)的操作。 下面来点简单的小例子说明把。 >>> x = set('spam') >>> y = set(['h','a','m']) >>> x, y (set(['a', 'p', 's', 'm']), set(['a', 'h', 'm'])) 再来些小应用。 >>> x & y # 交集 set(['a', 'm']) >>> x | y # 并集 set(['a', 'p', 's', 'h', 'm']) >>> x - y # 差集 set(['p', 's']) 记得以前个网友提问怎么去除海量列表里重复元素,用hash来解决也行

元组,字典,集合

送分小仙女□ 提交于 2019-12-26 18:52:34
元组 基本使用:tuple 用途:记录多个值,当多个值没有改的需求,此时用元组更合适 定义方式:在()内用逗号分隔开多个任意类型的值 元组有排列顺序,是不可变类型 #1、按索引取值 正索引可以正向取和负索引可以反向取,不能改只能取 #2、切片(顾头不顾尾,步长) 元组[索引位:索引位:步长] 左边的固定就是头,右边固定就是尾 没有按数字来分头尾,步长不写默认是1 切片取值默认是从左往右的 正步长左索引位需比右索引位小 负步长左索引需比右索引大 #3、长度 len(元组) #4、成员运算in和not in 判断一个元素是否存在于元组中 #5、循环 for循环遍历元组中每个元素 # count() 统计元素在元组中出现的次数 # index() index(元素,头,尾) 头,尾是索引的范围不传查找所有,返回结果是所传元素所在的索引值 字典 # 1 用途:记录多个值,每一个值都对应的key用来描述value的作用 # 2 定义方式:在{}内用逗号分隔开多个key:value,其中value可以是任意类型,而key必须是不可变的类型,通常情况下应该str类型 强调:字典的key是不能重复的 要唯一标识一条数据 # 如果重复了 只会按照最后一组重复的键值对存储 字典是无序排列的是可变类型 # 定义字典的三种方式 以{}套key:值以逗号隔开 # d1 = {'name':'jason',

Python基础

荒凉一梦 提交于 2019-12-26 18:49:40
Python基础知识 学习过程中记录 目录 基本数据类型 数字类型及操作 int 整数 可正可负 没有取值范围 double 浮点数 复数类型 global声明使用全局变量 数值运算操作符 字符串类型及操作 python 对字符串进行编号 字符串切片用法 字符串的特殊字符: 字符串操作符 字符串处理函数 字符串处理方法 字符串格式化 分支结构 单分支结构 二分支结构 多分支结构 条件判断: 操作符 条件组合 异常处理 循环结构 遍历循环 无限循环 循环控制保留字 循环的的扩展 集合 集合类型定义 集合操作符 增强操作符 集合处理方法 序列 序列类型定义 序列操作符 函数和方法 元组 列表 列表的定义 列表操作函数及方法 字典 字典类型定义 字典类型操作函数和方法 函数 函数的定义 函数参数个数 参数传递的两种方式 函数的返回值 lambda函数 (谨慎使用) 文件的数据格式化 文件的类型 文本文件 二进制文件 文件的打开及关闭 文件内容的读取 1. 基本数据类型 1.1. 数字类型及操作 1.1.1. int 整数 可正可负 没有取值范围 四种进制: 十进制:1010,99,-219 二进制:(以0b或0B开头) 0b010, -0B101 八进制:(以0o或者0O开头) 0o123, -0O456 十六进制:(以0x或者0X开头) 0x9a, -0X89 1.1.2.

Python核心技术与实战 笔记

梦想的初衷 提交于 2019-12-26 16:37:22
基础篇 Jupyter Notebook 优点 整合所有的资源 交互性编程体验 零成本重现结果 实践站点 Jupyter 官方 Google Research 提供的 Colab 环境 安装 运行 列表与元组 列表和元组,都是 一个可以放置任意数据类型的有序集合 。 l = [1, 2, 'hello', 'world'] # 列表中同时含有 int 和 string 类型的元素 l [1, 2, 'hello', 'world'] tup = ('jason', 22) # 元组中同时含有 int 和 string 类型的元素 tup ('jason', 22) 列表是动态的,长度大小不固定,可以随意地增加、删减或者改变元素 (mutable) 元组是静态的,场地大小固定,无法增加删除或者改变 (immutable) 都支持负数索引; 都支持切片操作; 都可以随意嵌套; 两者可以通过 list() 和 tuple() 函数相互转换; 列表和元组存储方式的差异 由于列表是动态的,所以它需要存储指针,来指向对应的元素。增加/删除的时间复杂度均为 O(1)。 l = [] l.__sizeof__() // 空列表的存储空间为 40 字节 40 l.append(1) l.__sizeof__() 72 // 加入了元素 1 之后,列表为其分配了可以存储 4 个元素的空间 (72 -

Python核心技术与实战 笔记

柔情痞子 提交于 2019-12-26 16:36:48
基础篇 Jupyter Notebook 优点 整合所有的资源 交互性编程体验 零成本重现结果 实践站点 Jupyter 官方 Google Research 提供的 Colab 环境 安装 运行 列表与元组 列表和元组,都是 一个可以放置任意数据类型的有序集合。 l = [1, 2, 'hello', 'world'] # 列表中同时含有 int 和 string 类型的元素 l [1, 2, 'hello', 'world'] tup = ('jason', 22) # 元组中同时含有 int 和 string 类型的元素 tup ('jason', 22) 列表是动态的,长度大小不固定,可以随意地增加、删减或者改变元素 (mutable) 元组是静态的,场地大小固定,无法增加删除或者改变 (immutable) 都支持负数索引; 都支持切片操作; 都可以随意嵌套; 两者可以通过 list() 和 tuple() 函数相互转换; 列表和元组存储方式的差异 由于列表是动态的,所以它需要存储指针,来指向对应的元素。增加/删除的时间复杂度均为 O(1)。 l = [] l.__sizeof__() // 空列表的存储空间为 40 字节 40 l.append(1) l.__sizeof__() 72 // 加入了元素 1 之后,列表为其分配了可以存储 4 个元素的空间 (72 -

13 Collection 容器

久未见 提交于 2019-12-26 11:43:54
文章目录 主要的collection特质 可变和不可变的collection 序列Seq 列表 集 Set 添加或去除元素的操作符 常用方法 官方collection教程 所有collection扩展自Iterable特质 三大类,序列,集合,映射 seq set map 对于几乎所有的collection,都提供了可变和不可变的版本 列表要么是空的,要么是一头一尾,尾是列表 集合没有先后次序 + 将元素添加到无先后次序的容器中,+: 和 :+向前或向后追加到序列,++将两个集合串接到一起,-和–移除元素(1个减号和两个减号) Iterable和Seq特质有数十个常见操作方法,很丰富 映射、折叠和拉链 主要的collection特质 下面请欣赏一组图片,注意 蓝底白字(特质trait)和黑底白字(类class),虚线(隐式转换)和粗实线(默认实现)、细实线(通过类实现) 。 图片来源 。 首先是scala.collection scala.collection.immutable scala.collection.mutable 图例 Iterable指的是那些能够交出用来访问集合中所有元素的Iterator的集合 val coll = List ( 2 , 1 , 4 , 3 ) //任意Iterable特质的类 val iter = coll . iterator while

IEnumerable和IEnumerator 详解

十年热恋 提交于 2019-12-26 05:14:28
http://blog.csdn.net/byondocean/article/details/6871881 初学C#的时候,老是被IEnumerable、IEnumerator、ICollection等这样的接口弄的糊里糊涂,我觉得有必要切底的弄清楚IEnumerable和IEnumerator的本质。 下面我们先看IEnumerable和IEnumerator两个接口的语法定义。其实IEnumerable接口是非常的简单,只包含一个抽象的方法GetEnumerator(),它返回一个可用于循环访问集合的IEnumerator对象。IEnumerator对象有什么呢?它是一个真正的集合访问器,没有它,就不能使用foreach语句遍历集合或数组,因为只有IEnumerator对象才能访问集合中的项,假如连集合中的项都访问不了,那么进行集合的循环遍历是不可能的事情了。那么让我们看看IEnumerator接口有定义了什么东西。看下图我们知道IEnumerator接口定义了一个Current属性,MoveNext和Reset两个方法,这是多么的简约。既然IEnumerator对象时一个访问器,那至少应该有一个Current属性,来获取当前集合中的项吧。 MoveNext方法只是将游标的内部位置向前移动(就是移到一下个元素而已),要想进行循环遍历,不向前移动一下怎么行呢? 详细讲解:

Java集合详解2:LinkedList和Queue

半城伤御伤魂 提交于 2019-12-26 04:52:19
Java集合详解2:LinkedList和Queue 今天我们来探索一下LinkedList和Queue,以及Stack的源码。 具体代码在我的GitHub中可以找到 https://github.com/h2pl/MyTech 喜欢的话麻烦star一下哈 文章首发于我的个人博客: https://h2pl.github.io/2018/05/09/collection2 更多关于Java后端学习的内容请到我的CSDN博客上查看: https://blog.csdn.net/a724888 我的个人博客主要发原创文章,也欢迎浏览 https://h2pl.github.io/ 本文参考 http://cmsblogs.com/?p=155 和 https://www.jianshu.com/p/0e84b8d3606c LinkedList概述 LinkedList与ArrayList一样实现List接口,只是ArrayList是List接口的大小可变数组的实现,LinkedList是List接口链表的实现。基于链表实现的方式使得LinkedList在插入和删除时更优于ArrayList,而随机访问则比ArrayList逊色些。 LinkedList实现所有可选的列表操作,并允许所有的元素包括null。 除了实现 List 接口外,LinkedList 类还为在列表的开头及结尾