字典 dict

特点:key-value键值对的数据的集合

     可变的、无序的、key不重复;非线性结构;

字典的初始化

  d=dict() 或者 d = { }

  dict(**kwargs) 使用name=value对初始化一个字典;

  dict(iterable,**kwarg) 使用可迭代对象和name=value对构造字典,不可迭代对象的元素必须是一个二元结构;

        

  dict(mapping,**kwarg) 使用一个字典构建另一个字典

    

  类方法dict.formkeys(iterable,value)

字典元素的访问

  d[key]  返回key对应的值value,key不存在则抛出KeyError;
    

  get(key[,default]} 返回key对应的值value,key不存在返回缺省值,如果没有设置缺省值就返回None;

    

  setdefault(key[,default]) 返回key对应的值value,key不存在,添加kv对,value为default,并返回default,如果default没有设置,缺省为None;

    

字典的增加、修改

  d[key] =value  增加、修改   key存在则覆盖,key不存在则创建

  update([other]) ---> None

    使用另一个字段的kv对更新本字段,key不存在则添加,key存在,覆盖已经存在的key对应的值;就地修改;
    

    在set集合中元素的值是唯一的,在字典中key是唯一的,key的顺序是无序的;

字典的删除

  pop(key,[default])  key存在,则移除,并返回它的value;key不存在,返回给定的default;default未设置,key不存在则抛出KeyError异常;

  

  popitem()  移除并返回任意键值对,字典为empty,抛出KeyError;

  

  clear()  清空字典;

  del语句

字典的遍历

  1、遍历key
  

  遍历value

  

  遍历items也就是kv对

  

  总结:

  python3中,keys、values、items方法返回一个类似于一个生成器的可迭代对象,不会把函数的返回结果复制到内存中,本质上是一个字典的view对象,省内存;

移除

  

  应用示例:
  

  字典和set主要是使用key,如果想遍历value,则使用list最好;

缺省字典 defaultdict

collections.defaultdict([default_factory[,...]])

  第一个参数是default_factory,缺省是None,它提供一个初始化函数,当key不存在的时候,会调用这个工厂函数来生成key对应的value;

有序字典 OrderedDict

  有序字典可以记录元素的插入顺序,打印的时候也是按照这个顺序输出打印;

  3.6版本的Python的字典就是记录key插入的顺序(ipython不一定有效果)

  应用场景:

    1、假如使用字典记录了N个产品,这些产品使用ID由小到大加入字典中;

    2、除了使用字典检索的遍历,有时候需要取出ID,但是希望是按照输入的顺序,因为输入顺序是有序的;

  示例:

    

字典练习

统计元素个数

a = {}
b = 'abcdefbbcc'
for i in b:
a[i] = a.get(i,0) + 1 #当变量i的值在a字典中不存在时,返回默认值0,并且加1赋值给a[i],写入字典,依次循环,当存在时,在原来的value基础上加1,赋值给a[i];
print(a) 执行结果:
{'a': 1, 'b': 3, 'c': 3, 'd': 1, 'e': 1, 'f': 1}

第三天python3 字典的更多相关文章

  1. python3 字典常见用法总结

    python3 字典常见用法总结 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表 ...

  2. Python3字典与集合

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

  3. Python3 字典 get() 方法

     Python3 字典 描述 Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 ...

  4. Python3 字典 fromkeys()方法

     Python3 字典 描述 Python 字典 fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值. 语法 fromkeys()方法语法: ...

  5. Python3 字典 update() 方法

     Python3 字典 描述 Python 字典 update() 函数把字典dict2的键/值对更新到dict里. 语法 update()方法语法: dict.update(dict2) 参数 di ...

  6. Python3 字典 pop() 方法

     Python3 字典 描述 Python 字典 pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值.key值必须给出. 否则,返回default值. 语法 pop()方法语法: ...

  7. Python3 字典 clear()方法

     Python3 字典 描述 Python 字典 clear() 函数用于删除字典内所有元素. 语法 clear()方法语法: dict.clear() 参数 NA. 返回值 该函数没有任何返回值. ...

  8. Python3 字典(map)

    ayout: post title: Python3 字典(map) author: "luowentaoaa" catalog: true tags: mathjax: true ...

  9. python系列七:Python3字典dict

    #!/usr/bin/python #Python3 字典#字典是支持无限极嵌套的citys={    '北京':{        '朝阳':['国贸','CBD','天阶','我爱我家','链接地产 ...

随机推荐

  1. css自定义省略实例2

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 【Azure Redis 缓存】 Python连接Azure Redis, 使用redis.ConnectionPool 出现 "ConnectionResetError: [Errno 104] Connection reset by peer"

    问题描述 Python连接Azure Redis, 使用redis.ConnectionPool 出现 "ConnectionResetError: [Errno 104] Connecti ...

  3. 【多线程】线程休眠 Thread.sleep()

    线程休眠 Thread.sleep() sleep (时间) 指定当前线程阻塞的毫秒数: sleep存在异常InterruptedException: sleep时间达到后线程进入就绪状态: slee ...

  4. 每天一个 HTTP 状态码 100

    100 Continue 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分:指示客户端应该继续当前请求:如果请求已经完成,客户端可以忽略该响应. 常用于服务器已经接受了请求头,客户端应该继续 ...

  5. 《HALCON数字图像处理》第四章笔记

    目录 第四章 HALCON数据结构 HALCON Image图像 图像通道 HALCON Region区域 Region的初步介绍 Region的点与线 Region的行程 Region的区域特征 H ...

  6. STL栈与队列

    #include<queue>// 队列 #include<stack>//栈 stack<int> s;//参数也是数据类型,这是栈的定义方式 queue< ...

  7. Linux离线包管理器RPM

    Linux离线包管理器RPM RPM 是RedHat Package Manager(RedHat软件包管理工具). 1.rpm常用参数介绍 查看rpm是否安装 rpm -q rpm包名 [root@ ...

  8. JAVA面向对象之封装和调用

    一   面向对象 面向对象的三大特性   1 封装:概念:封装是把过程和数据私有化,打包封存起来,对数据访问只能通过指定的方式.简单的可以理解为你把钱存到银行里,银行专员首先要给你开一个账户,之后你的 ...

  9. vscode常用插件快捷键

    俗话说,工欲善其事必先利其器,我们码农的器是什么尼?没错,就是我们亲爱的IDE,前端开发者最爱的编辑器应该是vscode了吧.但是我们要怎么去锋利它尼?不外乎就是熟悉它的使用方法.快捷键以及第三方的插 ...

  10. react的setState到底是同步还是异步

    在介绍这个问题之前,我们先来看一下一个例子: state = {number:1};componentDidMount(){this.setState({number:3})console.log(t ...