字典 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. DOM0级同DOM2级

    DOM0级分为两个:一是写在标签内的onclick事件: <button id="btn" onclick="alert('happy')">按钮& ...

  2. OracleRAC ACFS安装与卸载

    目录 ACFS安装与卸载: 一.在RAC上手动安装ACFS/ADVM 模块的步骤如下: 1.验证内存中是否存在 ACFS/ADVM 模块: 2.用root用户重新安装ACFS/ADVM 模块: 3.A ...

  3. .NET混合开发解决方案14 WebView2的基本身份验证

    系列目录     [已更新最新开发文章,点击查看详细] WebView2控件应用详解系列博客 .NET桌面程序集成Web网页开发的十种解决方案 .NET混合开发解决方案1 WebView2简介 .NE ...

  4. 923. 3Sum With Multiplicity - LeetCode

    Question 923. 3Sum With Multiplicity Solution 题目大意: 给一个int数组A和一个目标值target,求满足下面两个条件的组合个数,其中i,j,k分别为数 ...

  5. 数仓选型必列入考虑的OLAP列式数据库ClickHouse(上)

    概述 定义 ClickHouse官网地址 https://clickhouse.com/ 最新版本22.4.5.9 ClickHouse官网文档地址 https://clickhouse.com/do ...

  6. 好客租房18-jsx阶段总结

    JSX 1jsx是react的核心内容 2jsx是在js代码中写HTML结构,是react中声明式的提现 3使用jsx配合嵌入的js表达式,条件渲染,列表渲染,可以描述任意ui结构 4推荐使用cals ...

  7. TKE qGPU 通过 CRD 管理集群 GPU 卡资源

    作者 刘旭,腾讯云高级工程师,专注容器云原生领域,有多年大规模 Kubernetes 集群管理经验,现负责腾讯云 GPU 容器的研发工作. 背景 目前 TKE 已提供基于 qGPU 的算力/显存强隔离 ...

  8. 第06组 Beta冲刺 (4/5)

    目录 1.1 基本情况 1.2 冲刺概况汇报 1.郝雷明 2. 方梓涵 3.曾丽莉 4.鲍凌函 5. 董翔云 6.黄少丹 7.杜筱 8.詹鑫冰 9.曹兰英 10.吴沅静 1.3 冲刺成果展示 1.1 ...

  9. ROS基本程序实现

    0.前言 现在介绍ROS基本程序实现的教程有很多,步骤无非就是建工作空间,编译,创建功能包,创建文件和修改CMakeList,之后再编译.运行程序这几步.但是这些教程中很多在文件夹切换的很混乱,导致会 ...

  10. 《SQL Server基础——SQL语句》

    SQL Server基础--SQL语句       一.创建和删除数据库: 1.创建数据库(默认化初始值) 格式: CREATE DATABASE 数据库名称 例如: CREATE DATABASE ...