元组&哈希&字典
1、元组
(1)特性:不可变(不能修改、添加、删除),可以做切片
元组本身不可变,如果元组中还包含其他可变元素,这些可变元素可以改变(元组里套用列表,列表中的值可变)
(2)功能:
index
count
切片
(3)使用场景:
显示的告知别人,此处数据不可修改(明确告诉别人不可修改)
数据库连接配置信息等
2、哈希
通过hash的方法就会产生一段唯一的值,但唯一是在一定数据里之内,数据太多了有可能产生不唯一的值(只要用哈希就要解决一个冲突叫哈希冲突)
(1)特征:hash值的计算过程是依据这个值的一些特征计算的,这就要求被hash的值必须固定,因此被hash的值必须是不可变的(可变的类型是不可以被哈希的);
(2)用途:
文件签名
md5加密(md5无法反解)
密码验证
(3)语法:hash('alex')
3、字典(可以套列表)
(1)是一种key - value的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容
语法:info = {
'stu1101':"TengLan Wu",
'stu1102':"XiaoZe",
'stu1103':"LongZe ",
}
注意:key不能重复
info = {
'龙婷’:[24,'design','UI',13535555555]
'姗姗':[25,'PR,'wild model',15532555555]
}
info['龙婷’] #通过输入key值,查找字典内的信息
info['龙婷’][1] = "设计部" #修改字典内数据
(2)特性:
key-value结构
key必须可hash、且必须为不可变数据类型、必须唯一
可存放任意多个值、可修改、可以不唯一
无序
查找速度快
(3)用法:
info = {
'stu1101':"TengLan Wu",
'stu1102':"XiaoZe",
'stu1103':"LongZe ",
}
增加: info["stu1104"] = "Lucy"
修改:info["stu1101"] = "武滕兰"
查找:"stu1102" in info #标准用法 ,返回True
获取:info.get("stu1102")#如果有,返回值,如果没有返回空None
info['shanshan']#如果有,返回值,如果没有报错,一般不用这个
删除:info.pop()
(1)info.pop('shanshan') #删除后返回删除值的信息
(2)info.popitem()#随机删除,没有顺序
(3)del info["stu1102"]
4、多级字典嵌套
info = {'alex':[24,'IT'],'rain':[24,'HR'],'jack':22}
info.keys()#打印所有的key值
结果:dict_keys(['alex','rain','jack'])
info.values()#打印所有的value值
结果:dict_values([24,'IT'],[24,'HR'],22)
info.items()#把字典转换成列表(把key和value变成了一个小元组)
结果:dict_items([('alex',[24,'IT'),('rain',[24,'HR'],('jack',22)])
info.update #把两个字典合并成一个
info.update(dic2)#没有对应的值合并,有对应的覆盖
info.setdefault()#如果原来有对应的值,取出,如果没有就创建后返回
info.fromkeys(['A','B','C'],'alex')#生成字典并批量赋值
结果:{'A':'alex','B':'alex','C':'alex'}
字典的循环
方法一:
for k in info:
#print(k) #打印的是key
print(k,info[k])#打印的是key和value,最常用的循环方法
方法二:(基本不用此方法)
for k,v in info.items(): #先把dict转成list,数据里大时莫用
print(k,v)
元组&哈希&字典的更多相关文章
- python-Day3-set 集合-counter计数器-默认字典(defaultdict) -可命名元组(namedtuple)-有序字典(orderedDict)-双向队列(deque)--Queue单项队列--深浅拷贝---函数参数
上节内容回顾:C语言为什么比起他语言块,因为C 会把代码变异成机器码Pyhton 的 .pyc文件是什么python 把.py文件编译成的.pyc文件是Python的字节码, 字符串本质是 字符数组, ...
- python基础2--数据结构(列表List、元组Tuple、字典Dict)
1.Print函数中文编码问题 print中的编码:# -*- coding: utf-8 -*- 注:此处的#代表的是配置信息 print中的换行符,与C语言相同,为"\n" 2 ...
- Python编程Day6——元组类型、字典类型、集合
一.元组类型(tuple) 1.用途:记录多个值,当多个值没有改变的需求此时元组更为合适 2.定义:在()内用逗号分隔开多个任意类型的值(参数为for可以循环的对象) 3.常用操作: 索引(正取向+反 ...
- Python元组类型、字典类型及常用操作
一.元组类型 1.用途 记录多个值,当多个值没有改的需求,此时用元组更合适,Python的元组与列表类似,不同之处在于元组的元素不能修改. 2.定义方式 在()内用逗号分隔开多个任意类型的值 t=(1 ...
- Redis源码阅读-Dict哈希字典
Dict和Java中的HashMap很相似,都是数组开链法解决冲突. 但是Redis为了高性能, 有很多比较微妙的方法,例如 数组的大小总是2的倍数,初始大小是4. rehash并不是一次就执行完,而 ...
- 9、str类型和byte类型转换、列表拾遗、元组拾遗、字典拾遗、如何判断对象是否可迭代
str(字节类型,编码) 可用于创建字符串,或者将其他的转换成字符串 a= ‘李露’ #将字符串转换成字节流 b = bytes(a,encoding = 'utf-8') #将字节转换成 ...
- 洛谷 P3370 【模板】字符串哈希 (set||map||哈希||字典树(mle)
P3370 [模板]字符串哈希 题目描述 如题,给定N个字符串(第i个字符串长度为Mi,字符串内包含数字.大小写字母,大小写敏感),请求出N个字符串中共有多少个不同的字符串. #友情提醒:如果真的想好 ...
- day06python 哈希 字典集合嵌套
1.hash算法 hash算法 :内存中将值进行hash算法得到一个数值存储在内存中,查找也会按照算法进行查找,使用hash算法 执行效率高相对于list的索引查找 (字典,集合):使用的是hash查 ...
- python 元组列表转为字典
#create a list l = [(), (), (), (), (), ()] d = {} for a, b in l: d.setdefault(a, []).append(b) prin ...
随机推荐
- "留拍"-注册/登录详解
1. 注册 打开 “留拍” 软件,进入 主页面 ,然后按 注册 按钮: 在注册页面什么内容 都没有写 上去的情况下,按 完成 按钮: 首先把URL封装起来: public class URL { pu ...
- 【转】使用screw plus对PHP源码加密
运行环境 ubuntu 14.04 php 5.6 源码地址 https://github.com/del-xiong/screw-plus http://git.oschina.net/splot/ ...
- CSS里Postion几个取值relative、absolute、static、fixed的区别和用法
---恢复内容开始--- static:静态定位,也是postion的默认值,没有定位,元素出现在正常的流中,忽略top\bottom\left\right或者z-index声明. relative: ...
- JavaScript表单验证登录
在登录时,通常是将输入的信息原封不动的传送给后端的处理程序,然后处理之后返回结果,那么可能后端服务器的压力就很大,所以可以先在提交表单之前进行一些简单的检测,然后再发给后端,减小服务器的一部分压力: ...
- [转帖] iptables之四表五链
iptables之四表五链 http://www.cnblogs.com/clouders/p/6544584.html mark 学习一下 对防火墙一无所知.. iptables可谓是SA的看家本领 ...
- python3_列表、元组、集合、字典
列表list #列表的基本操作 >>> a=[] #创建空列表 >>> a = [0,1,2,3,4,5] #创建列表并初始化,列表是[]包含由逗号分隔的多个元素组 ...
- centos目录
cd /opt cd /home/lujie cd /etc cd /usr cd /dev cd /bin cd /mnt cd /media cd /tmp
- mysql理论结合实际篇(一)
最近两天做需求,是要将退款和退货报表里使用的临时表改用固定表, 自己建表时,如(只是举例): CREATE TABLE tasks ( task_id INT UNSIGNED NOT NULL AU ...
- Delphi2007精简版加载Borland.Studio.Together.dll错误解决办法
安装Delphi2007精简版,启动提示Borland.Studio.Together.dll加载错误,错误信息如下: Failed to load IDE add in 'C:\Program Fi ...
- python之匿名函数lambda
# lambda:匿名函数 # 语法:lambda 参数: 表达式 answer = lambda x: x * 5 print("answer(5): ", answer(5)) ...