1. 字典
1.成对保存数据 ,以key:value形式保存
2.以{}表示,每项内容都是key:value,元素之间用逗号隔开
3.key是不可重复的
4.字典以hash算法来计算key的hash值,使用hash值来保存数据
hash算法得到唯一的值(可能很大,可能很小.可能正数,可能负数)
可hash(不可变)数据类型:int bool str tuplu
不可hash数据类型:list dic set
5.hash算法是无序的,所以字典的储存是无序的
2. 增改删查
1.增
1.dic.["key"]=value dic[字典中不存在的key]=value,如果已存在key,会修改value值
2.setdefault('key',value) 如果字典中key存在,就不会进行任何操作
2.删
1.pop(key) 指定key删除
2.popitem() 看到的是删除最后一个,实际是随机删除的
3.clear() 清空
4.del dic[key]
3.修改
1.dic[key]=新value dic[已经存在的key]=新value
2.dic.update(dic2) 把dic2的内容覆盖到dic1中,如果key存在,则修改value值,
如果key不存在则新增
4. 查询
通过key来查找具体数据
dic[key] 可能会报错 如果key不存在,会报错
dic.get(key) 当key不存在,默认返回NONE
dic.setdefault("x","y") 当key不存在,默认返回y值,当key存在,返回value
3.常见操作
keys() key的集合
values() value的集合
items() 键值对的集合(key,value)
真正的字典的迭代,拿到就是key以及value
for k in dic.keys():
print(k) 类似列表,但不是列表,可以把他当列表用
print(dic(key))
for value in vaues():
print(value) 类似列表,但不是列表,可以把他当列表用
for k,v in items():
print(k,v) 这个东西是列表,但是列表里面装的是元组
延伸:结构
a,b=2,3
print(a,b) 结果是2,3(结构的时候注意数量要匹配)

day_05 字典的更多相关文章

  1. 【DG】Oracle_Data_Guard官方直译

    [DG]Oracle Data Guard官方直译 1 Oracle Data Guard 介绍   Oracle Data Guard概念和管理10g版本2   Oracle Data Guard ...

  2. DVWA实验之Brute Force(暴力破解)- Low

    DVWA实验之Brute Force-暴力破解- Low     这里开始DVWA的相关实验~   有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2 ...

  3. Oracle错误览表

    Oracle 错误总结及问题解决 ORA     本文转自:https://www.cnblogs.com/zhangwei595806165/p/4972016.html  作者@承影剑 ORA-0 ...

  4. Javacript实现字典结构

    字典是一种用[键,值]形式存储元素的数据结构.也称作映射,ECMAScript6中,原生用Map实现了字典结构. 下面代码是尝试用JS的Object对象来模拟实现一个字典结构. <script& ...

  5. python 数据类型 ----字典

    字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...

  6. 增强版字典DictionaryEx

    代码 public class DictionaryEx<TKey, TValue> : IDictionary<TKey, TValue> { /// <summary ...

  7. python学习笔记(字符串操作、字典操作、三级菜单实例)

    字符串操作 name = "alex" print(name.capitalize()) #首字母大写 name = "my name is alex" pri ...

  8. python之最强王者(8)——字典(dictionary)

    1.Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包 ...

  9. python序列,字典备忘

    初识python备忘: 序列:列表,字符串,元组len(d),d[id],del d[id],data in d函数:cmp(x,y),len(seq),list(seq)根据字符串创建列表,max( ...

随机推荐

  1. volatile关键字在多线程中的作用

  2. javascript变量声明提升(hoisting)

    javascript的变量声明具有hoisting机制,JavaScript引擎在执行的时候,会把所有变量的声明都提升到当前作用域的最前面. 先看一段代码 1 2 3 4 5 var v = &quo ...

  3. HotSpot JVM垃圾收集器

    HotSpot JVM收集器 上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器.如果两个收集器之间存在连线,就说明它们可以搭配使用. Serial(串行GC)收集器 Serial收集 ...

  4. JavaPersistenceWithMyBatis3笔记-第1章-001

    一.介绍 1.项目结构 2.数据库结构 二.代码 1.Mapper package com.mybatis3.mappers; import java.util.List; import com.my ...

  5. 算法Sedgewick第四版-第1章基础-022一QueueWithTwoStacks

    /****************************************************************************** * Compilation: javac ...

  6. scau 2015寒假训练

    并不是很正规的.每个人自愿参与自愿退出,马哥找题(马哥超nice么么哒). 放假第一周与放假结束前一周 2015-01-26 http://acm.hust.edu.cn/vjudge/contest ...

  7. java线程安全的元素

    集合类: Vector Stack HashTable enumeration 字符串: StringBuffer

  8. Netty学习大纲

    1.BIO.NIO和AIO2.Netty 的各大组件3.Netty的线程模型4.TCP 粘包/拆包的原因及解决方法5.了解哪几种序列化协议?包括使用场景和如何去选择6.Netty的零拷贝实现7.Net ...

  9. visual2013 的 MVC 4中连接数据库报错解决方案

    win7  64位安装vs2013后连接远程数据库出现下面的问题:A first chance exception of type 'System.AccessViolationException'  ...

  10. spark(1) - ubuntu 下 spark 安装

    简单步骤: 前提:hadoop 环境搭建(我的是伪分布式) 1.官网下载spark 2.spark部署(单机模式): (1)解压 (2)移动文件到自定义目录下(同时修改文件名-原来的名字太长) (3) ...