8-13、Python 散列复习

1、{} 输入是花括号

myCat = { ‘size‘:‘fat‘, ‘color‘:‘gray‘, ‘disposition‘:‘loud‘}   键:值

myCat[‘size‘] = fat

2、字典的3个方法:

keys()、values()、items() ,这些方法返回的值不是真正的列表,他们不能被修改,但是可以用for循环遍历

for v in myCat.values():

print(v)

for i in myCat.keys():

print(i)

for k,v  in myCat.items():

print(k ‘:‘ v)

3、检查字典中是否存在键-值:

‘name’ in spam.keys()

‘value’ in spam.values()

4、get()方法:

在访问一个键的值之前,要检查该键是否存在于字典中,这很麻烦,get()方法,可以很好的解决这个问题:如果存在该键,则返回其值,否则返回备用值

spam.get(‘cpus‘,0)

4、setdefault()方法:

setdefault()方法提供了一种方式,如果散列中不存在键则加入该键,并设置为传入的值,如果散列中存在该键,则返回该键的值。该方法可以确保一个键的存在。很实用

spam = {‘name‘:‘Pooka‘, ‘age‘,5}

spam.setdefault(‘color‘, ‘write‘)

原文地址:https://www.cnblogs.com/littleMa/p/9471881.html

时间: 2024-11-05 21:51:40

8-13、Python 散列复习的相关文章

Python散列类型和运算符

集合定义 集合的交 并 差 常见的运算符的用法 字典的定义 字典的 get  items  keys  pop  popitem  update  方法 三种逻辑运算 集合 集合特性 唯一性:不存在两个相同的元素 无序性:不存在索引 可变性:set集合是可变对象 两种定义方法(具有唯一性,自动去重) 直接定义   用大括号 set()   类型转换 三种运算 s1 & s2  交集 s1 |  s2  并集 s1 - s2   差集(补集,前一个有的,后一个没有的) 集合方法 增 add(值)

Python matplot画散列图

同matlab一样,matplot也可画散列图scatter. 1 import numpy as np 2 import matplotlib.pyplot as plt 3 #fig = plt.figure() 4 #ax = fig.add_subplot(111) 5 a1 = np.array([1, 2, 3, 4]) 6 a2 = np.array([1, 2, 3, 4]) 7 #ax.scatter(np.random.rand(5), np.random.rand(5))

流畅python学习笔记:第十章:序列的修改,散列和切片

前面在介绍了类的很多内置方法,比如__add__,__eq__,这里继续介绍类的两个内置方法,这2个内置方法可以将一个类实例变成一个序列的形式.代码如下 class vector(object):     def __init__(self,components):         self._components=components         print self._components     def __len__(self):         return len(self._c

python序列的修改、散列和切片

新Vector类 接原vector类定义的新Vector类,原向量类是二维,现定义多维向量类: from array import array import reprlib import math class Vector: typecode = 'd' shortcut_names = 'xyzt' def __init__(self, components): self._components = array(self.typecode, components) def __iter__(s

7、python基本数据类型之散列类型

前言:python的基本数据类型可以分为三类:数值类型.序列类型.散列类型,本文主要介绍散列类型. 一.散列类型 内部元素无序,不能通过下标取值 1)字典(dict):用 {} 花括号表示,每一个元素包含键(key)和值(value),key是一般是唯一的,如果重复最后的一个键值对   会替换前面的,value不需要唯一. 2)集合(set):用 {} 花括号表示,存放一个个元素,可以是任意类型,但元素不允许重复. 注意: d = {} 定义的是一个空字典 s = set() 定义的是一个空集合

散列(C++实现)

散列的构成:散列函数,散列表的存储方式,散列表的冲突解决方法. 1.散列函数 较常用的散列函数有除留余数法,数字分析法,平方取中法,折叠法. 2.散列表的存储方式 闭散列法(开地址法),用数组存储:开散列法(链地址法),用邻接链表存储. 3.散列表的冲突解决方法 主要是针对闭散列中关键码位置冲突的问题,常用的方法有线性探查法,二次探查法,双散列法. 性能分析:在存储方式中,开散列法优于闭散列法:在散列函数中,除留余数法最优. 实现代码: 1 #include<iostream> 2 using

没事写个散列玩~

感觉散列的查找性能真心不错,如果使用普通线性结构查找,平均时间是n/2.而刚才用实验,256大小的散列,存储128个数据,平均时间为2次以内.感觉真心NB 1 #include <iostream> 2 #include <vector> 3 #include <string> 4 #include <cstdlib> 5 #include <ctime> 6 7 using namespace std; 8 typedef bool BOOL;

散列查找的查找插入及冲突处理方法

处理冲突的方法 1.换个位置:开放地址法 2.同一位置的冲突对象组织在一起:链地址法 开放地址法(Open Addressing): 一旦产生了冲突(该地址已有其他元素),就按某种规则去寻找另一空地址 若发生了第i次冲突,试探的下一个地址将增加di, 基本公式: hi(key) = (h(key)+di) mod TableSize (1≤i<TableSize) di决定了不同解决冲突方案:线性探测.平方探测.双散列 线性探测:di = i +1 +2 +3 平方探测:di = ±i^2 +1

MD5(单向散列算法)原理分析

注:本文章转载于网络. MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2.MD3和MD4发展而来.MD5算法的使用不需要支付任何版权费用. MD5功能:    输入任意长度的信息,经过处理,输出为128位的信息(数字指纹):    不同的输入得到的不同的结果(唯一性):    根据128位的输出结果不可能反推出输入的信息(不可逆): MD5属不属于加密算法:    认为不属于的人是因为他们觉得不能从密文(散列值)反过来得到原文,即没有