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)

元组&哈希&字典的更多相关文章

  1. python-Day3-set 集合-counter计数器-默认字典(defaultdict) -可命名元组(namedtuple)-有序字典(orderedDict)-双向队列(deque)--Queue单项队列--深浅拷贝---函数参数

    上节内容回顾:C语言为什么比起他语言块,因为C 会把代码变异成机器码Pyhton 的 .pyc文件是什么python 把.py文件编译成的.pyc文件是Python的字节码, 字符串本质是 字符数组, ...

  2. python基础2--数据结构(列表List、元组Tuple、字典Dict)

    1.Print函数中文编码问题 print中的编码:# -*- coding: utf-8 -*- 注:此处的#代表的是配置信息 print中的换行符,与C语言相同,为"\n" 2 ...

  3. Python编程Day6——元组类型、字典类型、集合

    一.元组类型(tuple) 1.用途:记录多个值,当多个值没有改变的需求此时元组更为合适 2.定义:在()内用逗号分隔开多个任意类型的值(参数为for可以循环的对象) 3.常用操作: 索引(正取向+反 ...

  4. Python元组类型、字典类型及常用操作

    一.元组类型 1.用途 记录多个值,当多个值没有改的需求,此时用元组更合适,Python的元组与列表类似,不同之处在于元组的元素不能修改. 2.定义方式 在()内用逗号分隔开多个任意类型的值 t=(1 ...

  5. Redis源码阅读-Dict哈希字典

    Dict和Java中的HashMap很相似,都是数组开链法解决冲突. 但是Redis为了高性能, 有很多比较微妙的方法,例如 数组的大小总是2的倍数,初始大小是4. rehash并不是一次就执行完,而 ...

  6. 9、str类型和byte类型转换、列表拾遗、元组拾遗、字典拾遗、如何判断对象是否可迭代

    str(字节类型,编码)       可用于创建字符串,或者将其他的转换成字符串 a= ‘李露’ #将字符串转换成字节流 b = bytes(a,encoding = 'utf-8') #将字节转换成 ...

  7. 洛谷 P3370 【模板】字符串哈希 (set||map||哈希||字典树(mle)

    P3370 [模板]字符串哈希 题目描述 如题,给定N个字符串(第i个字符串长度为Mi,字符串内包含数字.大小写字母,大小写敏感),请求出N个字符串中共有多少个不同的字符串. #友情提醒:如果真的想好 ...

  8. day06python 哈希 字典集合嵌套

    1.hash算法 hash算法 :内存中将值进行hash算法得到一个数值存储在内存中,查找也会按照算法进行查找,使用hash算法 执行效率高相对于list的索引查找 (字典,集合):使用的是hash查 ...

  9. python 元组列表转为字典

    #create a list l = [(), (), (), (), (), ()] d = {} for a, b in l: d.setdefault(a, []).append(b) prin ...

随机推荐

  1. 《linux内核设计与实现》第三章

    1.进程 进程就是正在执行的程序代码的实时结果,不仅包含可执行代码,还包括其他资源,比如:打开的文件,挂起的信号,内核内部数据结构,处理器状态,一个或多个具有内存映射的内存地址空间及一个或多个执行线程 ...

  2. java_web—JSP+Servlet+JavaBean

    JSP -> Java Server Page  后端 jsp -> JavaScript  前端 JSP语法 1.JSP插入Java代码 三种形式: (1)<%!  %> ( ...

  3. K 班前7次作业成绩汇总

    K 班前7次作业成绩汇总 得分榜 千帆竞发 详细 短学号 名 1 2 3 4 5 6 7 TOTAL 505 基智 4.55 1 -2 0 0 -10 4.37 -2.08 414 圳源 5.43 2 ...

  4. windows、ubuntu、centos7下mysql 的安装与使用

    一.windows 及ubuntu下安装 windows可以傻瓜式安装,另一种空闲了下来写,也不麻烦 ubuntu: apt-get install mysql 强烈推荐使用ubuntu从这儿就很方便 ...

  5. Running kubernetes on windows

    docker-for-desktop minikube GKE cluster(?) docker-for-desktop https://docs.docker.com/docker-for-win ...

  6. C++与C的区别

    在最开始C++只是C加上了一些面向对象的特性,C++最初的名字为C with Classes.后来C++又提出了一些不同于Class的特性:Exceptions(异常).templates(模板).S ...

  7. App WebView实例化

    a,高级设置里的环境变量 jdk的配置 b,下载Google的sdk,里面直接包含eclipse 1,新建一个项目 2,起个名字 3,设么走不做,next 4,只操作选择显示的三种方式 5,next什 ...

  8. loadrunner 基础-学习笔记一

    由于公司要使用loadrunner暂停学习jmeter 1 loadrunner组件: virtual user generator:录制最终用户业务流程并创建自动化性能测试脚本,vuser脚本 co ...

  9. solr 字段设置不存储表示不会进行分词

    solr 字段设置不存储表示不会进行分词

  10. 17mysql2█▓

    一.数据库的查询用法 1. 数据表记录的查询: 运算符.虑重.列运算.别名.排序.聚合函数.分组 1.1数据准备 create table exam(   id int primary key aut ...