今日内容:

字典

成对的保存数据。 以key:value的形式保存

用{}表示,每一项内容都是key:value, 每项数据之间用逗号隔开

字典中的key是不能重复的。 存储是依靠着key来计算的。

字典是使用hash算法计算key的哈希值. 使用哈希值来存储数据

哈希算法得到的是一个唯一的数字(可能是正数, 可能是负数, 很大或者很小)

哈希算法是无序的

字典中的key必须是可哈希的, 不可变的就是可哈希的

字典的value随便改动

注意: key必须是不可变(可哈希)的. value没有要求.可以保存任意类型的数据

不可变: 字符串, 元组, int, bool

可变的: list, dict, set

操作

dic = {}

  1. 增加

dic[字典中不存在的key] = value  # key如果重复了。 就会修改

# # 流程: 1.先判断key是否存在。 如果存在,就不执行新增, 如果不存在, 执行新增

dic.setdefault(("宫本武藏", "很牛B"))

# dic.setdefault("宫本武藏", "我的宫本很菜") # 如果key存在了就不会再添加了

  1. 删除

pop() 指定某个key删除

popitem() 随机删除

del dic[key] 删除

clear() 清空

  1. 修改

dic[key] = value  如果key存在,则value覆盖

dic.updae(dic2)  #把dic2中的内容覆盖到dic中 #存在则覆盖,不存在则添加

  1. 查询

dic[key]  #如果key不存在则报错

dic.get(‘key’,’返回内容’)  #查询,存在返回value,不存在不报错,默认返回none

# 流程: 1. 先检测是否存在key,如果存在,就不执行新增, 如果不存在, 执行新增

#        2. 并且根据你给的key把value查询出来

setdefault()

  1. 其他操作

keys()  #key的集合

values()# value的集合

items() #键值对的集合(key,value)

字典的迭代

for k in dic:

k #key

dic[k]#value

day05 字典 dict的更多相关文章

  1. day05——字典

    day05 字典 字典-- dict: 字典无序的,可变的数据类型 用于存储大量数据,字典要比列表快,将数据和数据之间进行关联 lst1 = ['常鑫','李文虎','张宇'] # 姓名 lst2 = ...

  2. python中几个常见的黑盒子之“字典dict” 与 “集合set”

    这里说到"字典dict" 和 "集合set"类型,首先,先了解一下,对于python来说,标准散列机制是有hash函数提供的,对于调用一个__hash__方法: ...

  3. Python中的元组(tuple)、列表(list)、字典(dict)

    -------------------------------更新中-------------------------------------- 元组(tuple): 元组常用小括号表示,即:(),元 ...

  4. python中字典dict的操作

    字典可存储任意类型的对象,由键和值(key - value)组成.字典也叫关联数组或哈希表. dict = {' , 'C' : [1 , 2 , 3] } dict['A'] = 007 # 修改字 ...

  5. python中的字典(dict),列表(list),元组(tuple)

    一,List:列表 python内置的一种数据类型是列表:list.list是一种有序的数据集合,可以随意的添加和删除其中的数据.比如列出班里所有的同学的名字,列出所有工厂员工的工号等都是可以用到列表 ...

  6. Python - 字典(dict) 详解 及 代码

    字典(dict) 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/details/17291329 字典(dict)是表示映射的数据 ...

  7. Redis的字典(dict)rehash过程源代码解析

    Redis的内存存储结构是个大的字典存储,也就是我们通常说的哈希表.Redis小到能够存储几万记录的CACHE,大到能够存储几千万甚至上亿的记录(看内存而定),这充分说明Redis作为缓冲的强大.Re ...

  8. python基础之字典dict和集合set

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7043642.html python基础之字典dict和集合set 字典dic ...

  9. 自学Python2.4-基本数据类型-字典dict(objct)

    Python dict方法总结 一.字典介绍 1.字典概述 ①字典是python中唯一内建的映射类型.又称关联数组或散列②映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关 ...

随机推荐

  1. 手机版的百度map封装,使用gps定位

    代码如下,包自己引 包参考 一个百度MAP导航的基础封装 使用的是浏览器调用gps定位 修改了标注的大小 效果如图: 代码...... <!DOCTYPE html> <html&g ...

  2. Maven插件的简介,安装及在eclipse中配置

    1.Maven简介 1.Maven介绍 Maven是一个基于项目对象模型(POM:project object model)的概念的纯java开发的开源的项目管理工具.Maven把我们的工程抽像一个对 ...

  3. 解决不能修改 Mysql 慢查询 long_query_time 值的问题

    起因:想修改一下自己电脑上的MySQL的 long_query_time 值,以此来测试 MySQL的慢查询功能. 可是,无论怎么改,show variables like 'long_query_t ...

  4. Centos7.5搭建Hadoop2.8.5完全分布式集群部署

    一.基础环境设置 1. 准备4台客户机(VMware虚拟机) 系统版本:Centos7.5 节点配置: 192.168.208.128 --Master 192.168.208.129 --Slave ...

  5. java入门---循环结构 - for, while 及 do...while&break&continue

        顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构.Java中有三种主要的循环结构: while 循环 do…while 循环 for 循环     在Jav ...

  6. 20155304 2016-2017-2 《Java程序设计》实验三 敏捷开发与XP实践

    实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软件工程包括下列领 ...

  7. 考研编程练习----swap

    void swap(int a ,int b) { a^=b; b^=a;  //b =b^a^b //b = b^b^a;//b = a;  按位异或满足交换律 a^=b; //a = a^b^a ...

  8. nth-child()伪类选择器

    描述: 伪类:nth-child()的参数是an+b,如果按照w3.org上的描述,写成中文,很可能会让人头晕,再加上笔者的文笔水平有限,所以我决定避开an+b的说法,把它拆分成5种写法共5部分来说明 ...

  9. [agc004D]Teleporter

    Description 传送门 Solution 依题意我们可以知道,以2-n为出发点的边和1号节点会构成一课树(不然2-n号节点无法都达到首都). 为了让2-n号节点中,离1号节点的距离<k的 ...

  10. win2012r2 关闭中英文悬浮小方框显示

    因为那是微软输入法自带的   2012下关不掉  所以切换成美式键盘就没有了