一、字典

映射 对象会将 不可变的值 映射到任意对象。 映射属于可变对象。 目前仅有一种标准映射类型 字典

字典可以通过将以逗号分隔的 键: 值 对列表包含于花括号之内来创建

例如: {'jack': 4098, 'sjoerd': 4127} 或 {4098: 'jack', 4127: 'sjoerd'}

通过dict()来构造映射对象

dict(one=1, two=2, three=3)

dict(zip(['one', 'two', 'three'], [1, 2, 3]))

dict([('two', 2), ('one', 1), ('three', 3)])

dict({'three': 3, 'one': 1, 'two': 2})

>>> d = {"name": "dyp", "age": 21}

>>> d

{'name': 'dyp', 'age': 21}

>>> d = dict(name="dyp", age=21)

>>> d

{'name': 'dyp', 'age': 21}

>>> d = dict([("name", "dyp"),("age", 21)])

>>> d

{'name': 'dyp', 'age': 21}

字典的键 几乎可以是任何值

可变对象 的值,即包含列表、字典或其他可变类型的值(此类对象基于值而非对象标识进行比较)不可用作键

数字类型用作键时遵循数字比较的一般规则:如果两个数值相等 (例如 1 和 1.0) 则两者可以被用来索引同一字典条目

二、字典支持的操作

list(dict): 返回键列表

>>> d = {'name': 'dyp', 'age': 21}

>>> list(d)

['name', 'age']

len(dict): 返回字典 d 中的项数。

dict[key]: 返回 dict 中以 key 为键的value。 如果映射中不存在 key 则会引发 KeyError。

>>> d = {'name': 'dyp', 'age': 21}

>>> d["name"]

'dyp'

dict[key] = value: 将 dict[key] 设为 value

>>> d = {'name': 'dyp', 'age': 21}

>>> d["name"] = "dyy"

>>> d

{'name': 'dyy', 'age': 21}

del dict[key]: 将 dict[key] 从 d 中移除。 如果映射中不存在 key 则会引发 KeyError。

>>> d = {'name': 'dyy', 'age': 21}

>>> del d["name"]

>>> d

{'age': 21}

key in d: 如果 d 中存在键 key 则返回 True,否则返回 False。

key not in d: 等价于 not key in d。

dict.clear(): 移除字典中的所有元素。

dict.copy(): 返回原字典的浅拷贝。

>>> d = {"name": "dyp", "age": 21}

>>> d.copy()

{'name': 'dyp', 'age': 21}

dict.get(key[, default]): 如果 key 存在于字典中则返回 key 的值,否则返回 default。 如果 default 未给出则默认为 None,因而此方法绝不会引发 KeyError

>>> d = {'name': 'dyp', 'age': 21}

>>> d.get("age", 12)

21

dict.items(): 返回由字典项 (键, 值) 对 组成的一个新视图

>>> d = {'name': 'dyp', 'age': 21}

>>> d.items()

dict_items([('name', 'dyp'), ('age', 21)])

dict.keys(): 返回由字典键组成的一个新视图

>>> d = {'name': 'dyp', 'age': 21}

>>> d.keys()

dict_keys(['name', 'age'])

dict.pop(key[, default]): 如果 key 存在于字典中则将其移除并返回其值,否则返回 default。 如果 default 未给出且 key 不存在于字典中,则会引发 KeyError

>>> d = {'name': 'dyp', 'age': 21}

>>> d.pop("name")

'dyp'

dict.popitem(): 从字典中移除并返回一个 (键, 值) 对。 键值对会按 LIFO 的顺序被返回, 空字典会报错

>>> d = {'age': 21, 'name': 'dyp'}

>>> d.popitem()

('name', 'dyp')

reversed(dict): 返回一个逆序获取字典键的迭代器

dict.setdefault(key[, default]): 如果字典存在键 key ,返回它的值。如果不存在,插入值为 default 的键 key ,并返回 default 。 default 默认为 None

>>> d = {'age': 21, 'name': 'dyp'}

>>> d.setdefault("name", "dyy")

'dyp'

dict.update([other]): 使用来自 other 的键:值对更新字典,覆盖原有的键

>>> d = {'age': 21, 'name': 'dyp'}

>>> d.update({"name": "dyy", "age": 22})

>>> d

{'age': 22, 'name': 'dyy'}

dict.values(): 返回由字典值组成的一个新视图

>>> d = {'age': 22, 'name': 'dyy'}

>>> d.values()

dict_values([22, 'dyy'])

python映射类型-python笔记-映射类型(字典)相关推荐

  1. python的符号函数得到的数字类型_Python笔记——数字类型的几个函数

    标准类型内建函数: cmp(obj1, obj2) 比较obj1和obj2,根据比较结果返回整型i: i < 0 if obj1 < obj2 i > 0 if obj1 > ...

  2. python映射类型-python第二版7章笔记--映射和集合类型

    7.1 映射 字典是 Python 语言中唯一的映射类型.映射类型对象里哈希值(键) 和指向的对象(值)是一对多的关系. 它们与 Perl 中的哈希类型(译者注:又称关联数组)相似,通常被认为是可变的 ...

  3. python映射类型-python 基础学习 — 映射类型:字典

    一.字典: { } 字典是 Python 语言中唯一的映射类型.映射类型对象里哈希值(键) 和指向的对象(值)是一对多的关系. 二.创建字典 d1 = {'name': 'earth', 'port' ...

  4. python映射类型-Python中字典映射类型的学习教程

    字典是python语言中唯一的映射类型,用花括号{}表示,一个字典条目就是一个键值对,方法keys()返回字典的键列表,values()返回字典的值列表,items()返回字典的键值对列表.字典中的值 ...

  5. python映射类型-Python基础类型之字典(dict)

    1.字典: { } 字典是 Python 语言中唯一的映射类型.映射类型对象里哈希值(键) 和指向的对象(值)是一对多的关系. 2.创建字典 d1 = {'name': 'earth', 'port' ...

  6. python序列类型唯一的映射类型_python2.x学习笔记(8)-映射和集合类型

    1. 字典是 Python 语言中唯一的映射类型.映射类型对象里哈希值(键) 和指向的对象(值)是一对一的关系. 2. 一个字典对象是可变的,它是一个容器类型,能存储任意个数的 Python 对象,其 ...

  7. 《Python Cookbook 3rd》笔记(1.20):合并多个字典或映射

    合并多个字典或映射 问题 现在有多个字典或者映射,你想将它们从逻辑上合并为一个单一的映射后执行某些操作,比如查找值或者检查某些键是否存在. 解法 假如你有如下两个字典: a = {'x': 1, 'z ...

  8. Python基本语法_基本数据类型_字典类型详解

    目录 文章目录 目录 软件环境 字典(Dictionary) 创建一个字典对象 简单的创建 fromkey() 使用 keys 来创建字典 查询 查询字典中 key 映射的 value get() 查 ...

  9. python的dict类型_python数据类型:dict(字典)

    一.字典的简单介绍 字典(dict)是python中唯一的一个映射类型.他是以{}括起来的键值对组成. 语法: {key1:value1,key2:value2......} 注意:key必须是不可变 ...

  10. Python数据分析三剑客学习笔记Day3——pandas包的使用:认识series类型,DataFrame类型,读取excel表格数据及数据操作

    本文是视频Python数据分析三剑客 数学建模基础 numpy.pandas.matplotlib的学习笔记. -------------------------------------------- ...

最新文章

  1. swift 语言 linux,苹果发布Swift 2.2编程语言:支持Ubuntu Linux系统
  2. VC中退出应用程序-几种很有用的方法
  3. cocos2d CCNode类(节点属性大全)
  4. TypeScript class 的静态成员变量
  5. Merge Two Sorted Lists leetcode java
  6. 交叉编译HTOP并移植到ARM嵌入式Linux系统
  7. 2014秋应用计算机,2014年秋计算机应用基础》期末试卷A(A3版).doc
  8. SIFT(尺度不变特征变换)算法浅析
  9. 集成产品开发过程及其概念模型
  10. metasploit连接postgresql的问题(U盘启动kali linux)
  11. 一天天过得很快啊,今天大家都干了啥?我们拿出来晒晒
  12. VNC方式连接树莓派
  13. XenApp6.5启用3D功能
  14. 保险公司智能运营系统文档
  15. Kylo 之 spark-job-profiler 源码阅读
  16. 如何进行音频合并?很简单,只需三步骤
  17. Linux下qt程序部署到ARM开发板上: error: Upload of file “你的程序“ failed. The server said: “Failure
  18. Android 二维码扫描(仿微信界面),根据Google zxing
  19. Sched: RT throttling activated
  20. 修复Win7服务列表中没有Windows Update服务的问题

热门文章

  1. SQL语句在数据库中是如何执行的
  2. Redis几个认识误区
  3. Diango 模板层
  4. SQL Server查询重复数据
  5. 第三章 python webdriver API(一)——浏览器操作
  6. cpio用法详细说明
  7. MySQL Server-id踩到的坑
  8. 2016 Multi-University Training Contest 1 GCD【RMQ+二分】
  9. Python-S13-day2-之购物车
  10. [Kerberos] Java client访问kerberos-secured cluster