哈希表 哈希表(Hash Table, 又称为散列表),是一种线性表的存储结构.哈希表由一个直接寻址表和一个哈希函数组成.哈希函数h(k)将元素关键字k作为自变量,返回元素的存储下标. 简单哈希函数: 除法哈希:h(k) = k mod m 乘法哈希:h(k) = floor(m(kA mod 1)) 0<A<1 假设有一个长度为7的数组,哈希函数h(k) = k mod 7,元素集合{14, 22, 3, 5}的存储方式如下图: 哈希冲突 由于哈希表的大小是有限的,而要存储的值的总数量是无限…
python中内置的数据类型有列表(list)元组(tuple)字典(directory). 1 list list是一种可变的有序的集合.来看一个list实例: #第一种方法: >>> name=['liming','xiaohong',] >>> name ['liming', 'xiaohong'] #第二种方法: >>> age=list([18,17,]) >>> age [18, 17] list有许多功能: >&g…
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff; padding: 3px; margin: 10px 0px; font-family: "微软雅黑", "宋体", "黑体", Arial } Python第三章__函数式编程.递归.闭包 欢迎加入Linux_Python学习群  群号:478…
第三章  字符串 3.1 基本字符串操作 Python的字符串和元组差不多,是不可以进行改变的,如果想改变值,可以尝试list序列化之后在进行修改. {    website = 'http://www.Python.org';    website = [-3:] = 'com';     上面操作违法. } 3.2 字符串格式化:精简版 字符串格式化使用字符串格式化操作符(这个名字还是很恰当的)即%来实现. 基本用法例子 1.   >>> format = "Hello,…
原书参考:http://www.jeffknupp.com/blog/2012/10/04/writing-idiomatic-python/ 上一篇:翻译<Writing Idiomatic Python>(三):变量.字符串.列表 下一篇:翻译<Writing Idiomatic Python>(五):类.上下文管理器.生成器 2.4 字典 2.4.1 用字典实现switch...case 和其他许多语言不一样,Python不支持switch...case.switch通常用来…
一.数据类型 1.什么是数据? x=10,10是我们要存储的数据 2.为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3 数据类型 数字(整形,长整形,浮点型,复数) 字符串 字节串:在介绍字符编码时介绍字节bytes类型 列表 元组 字典 集合 4.数字 #整型int 作用:年纪,等级,身份证号,qq号等整型数字相关 定义:age=10  #本质age=int(10) #浮点型float 作用:薪资,身高,体重,体质参数等浮点数相关 定义:salary=…
元组:就是一个不可变的列表 1.用途,当我们需要记录多个值,并且没有更改的需求的时候,应该使用元组 2定义方式:使用,在 ( ) 中分隔开多个任意类型的值 注:t=("egg",),如当列表中只有一个值的时候,在末尾加上 , 逗号 t=tuple("hello")  # 元组和列表的类型的类型转换相同,可将任意可迭代类型转换成 元组类型 常用操作+内置方法 1.按照索引取值,因为元组是不可变类型,所以只能取值 .count()  统计某个元素出现的次数 .index…
如何在列表.字典.集合中根据条件筛选数据 问题举例: 过滤列表[1, 2, 5, -1, 9, 10]中的负数 筛选字典{“zhangsan”:97, "lisi":80, "wangwu":60, "liqiang":91}中的值高于90的键值对 筛选集合{89, 70, 60, 80, 90}中能被3整除的元素 列表 一般遇到这种问题,我们首先会想到用for循环的方式去解决 (1)for循环 from random import randin…
列表格式:name = []name = [name1, name2, name3, name4, name5] #针对列表的操作 name.index("name1")#查询指定数值的下标值 name.count("name1")#查询指定数值的总数 name.clear("name")#清空列表 name.reverse("name")#反转列表数值 name.sort("name")#排序,优先顺序…
什么是可散列的数据类型 如果一个对象是可散列的,那么在这个对象的生命周期中,他的散列值是不变的,而且这个对象需要实现__hash__()方法.另外可散列对象还要有__qe__()方法.这样才能跟其他键做比较.如果两个可散列对象是相等的.那么他们的散列值一定是一样的. 原子不可变数据类型(str, bytes和数值类型)都是可散列类型,frozenset也是可散列的,因为根据其定义.frozenset里只能容纳可散列类型.元组的话.只有当一个元组包含的所有元素都是可散列类型的情况下,他才是可散列的…