【Python】11、集合与字典的实现

一、字典的实现

dict是在list之上实现的

i(索引) = hash(key) % solt(槽位数)

此时i重复了怎么办(hash冲突)?

1、拉链法

 每个槽位上拉一个List,就是拉链法





2、开地址法

使用某个算法重新计算i,就交开地址法

常用,效率更高,

i = fn(key, i)


				
时间: 2024-11-06 18:35:47

【Python】11、集合与字典的实现的相关文章

Python的集合与字典练习

集合与字典练习 question1 问题描述:有一个列表,其中包括 10 个元素,例如这个列表是[1,2,3,4,5,6,7,8,9,0],要求将列表中的每个元素一次向前移动一个位置,第一个元素到列表的最后,然后输出这个列表.最终样式是[2,3,4,5,6,7,8,9,0,1] 代码如下: list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] print(list) a = list.pop(0) list.append(a) print(list) 结果如下图: ques

python 的 集合,字典,元组,列表

元组 tuple  a = (1,2,3) 元组不能修改 可权嵌套列表  如 (1,2,3,[1,2,3]) 里面的列表可修改  一般不这样用 列表list  a = [1,2,3] 集合set  a = {1,2,3} 最大的特点会自动去从,所以他是没序的,也不支持切片 , 字典dict   跟集合基本一样,他 是key:value键值对的形式 a = {"a":1,"b":2} 就是json格式的数据对 元组 列表,集合的互相转换  很简单如 元组 转 列表 

Python的列表&元组&字典&集合

目录 列表(list) 列表的定义 列表的查询 增加数据 修改数据 删除数据 其它常用操作 元组(tuple) 元组的拆包 具名元组 字典(dict) 创建字典 字典添加数据 查询字典数据 修改字典数据 删除字典数据 其它操作 字典的遍历 集合(set) 集合的创建 访问集合 更新集合 删除集合 集合的操作符 集合应用 列表(list) ? 列表(list)是python以及其他语言中最常用到的数据结构之一.Python使用中括号 [ ] 来解析列表.列表是可变的(mutable)--可以改变列

Python 列表\集合\ 字典推导式、生成器表达式

Python 列表\集合?字典推导式.生成器表达式 列表推导式 循环模式 l1 = [i for i in range(1,11)] l2 = [i ** 2 for i in range(100)] l3 = [f'python{i}' for i in range(50)] 筛选模式: l1 = [i for i in range(1,31) if i % 3 == 0] 嵌套循环: names = [['tom','billy','jefferson'],['wesley','steven

what's the python之基本运算符及字符串、列表、元祖、集合、字典的内置方法

计算机可以进行的运算有很多种,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.字符串和列表的算数运算只能用+和*,字典没有顺序,所以不能进行算数运算和比较运算.比较运算中==比较的是值,is比较的是id.比较运算只能在同种类型下进行比较.字符串的比较是按照顺序依次进行比较.逻辑运算的顺序先后为要用括号来表示. 基本运算符如下: 算术运算 以下假设a=10,b=20 比较运算 以下假设a=10,b=20 赋值运算 逻辑运算  成员运算 身份运算 what's the 内

python 数据类型: 数字Nubmer / 字符串String / 列表List / 元组Tuple / 集合Set / 字典Dictionary

#python中标准数据类型 数字Nubmer 字符串String 列表List 元组Tuple 集合Set 字典Dictionary #单个变量赋值countn00 = '10'; #整数countn01 = '100.0' #浮点countn02 = "双权"; #字符串countn03 = '10'; #数字#print("整数 = "+countn00,"浮点 = "+countn01,"字符串 = "+countn0

python的列表元组字典集合比较

定义 方法 列表 可以包含不同类型的对象,可以增减元素,可以跟其他的列表结合或者把一个列表拆分,用[]来定义的 eg:aList=[123,'abc',4.56,['inner','list'],7-9j] 1.list(str):将str转换成list类型,str可以使字符串也可以是元组类型 2.aList.append('test'):追加元素到列表中去 3.del aList[1]:删除列表中下标为1的元素 del aList:删除整个列表 4.cmp(list1,list2):比较两个列

Python列表、元组、集合、字典的区别和相互转换

列表.元组.集合.字典的区别   列表 元组 集合 字典 英文 list tuple set dict 可否读写 读写 只读 读写 读写 可否重复 是 是 否 是 存储方式 值 值 键(不能重复) 键值对(键不能重复) 是否有序 有序 有序 无序 无序,自动正序 初始化 [1,'a'] ('a', 1) set([1,2]) 或 {1,2} {'a':1,'b':2} 添加 append 只读 add d['key'] = 'value' 读元素 l[2:] t[0] 无 d['a'] 列表.元

Python 11:RabbitMQ、redis

Python 11:RabbitMQ.redis 1.RabbitMQ 2.缓存数据库:redis 一.RabbitMQ  1.基本信息 市面上的MQ:rabbitMQ.ZeroMQ.ActiveMQ rabbitMQ是基于erlang 开发的安装前需要先装环境,默认端口5672 2.简单通信 1 import pika 2 connection = pika.BlockingConnection( 3 pika.ConnectionParameters('localhost')) 4 chan

Swift 数组、字符串、集合与字典详解

今天我们来看几个最基本的数据结构:数组,字符串,集合和字典. 数组 数组是最基本的数据结构.Swift编程语言中改变了以前Objective-C时代NSMutableArray和NSArray分开的做法,统一到了Array唯一的数据结构.下面是最基本的一些实现. 1 2 3 4 5 6 7 8 9 10 11 // 声明一个不可修改的数组 let nums = [1, 2, 3] let nums = [Int](count: 5, repeatedValue: 0) // 声明一个可以修改的数