Python中,

字典是容器,所以可以使用len()方法统计字典中的键值对的个数;

字典是可迭代的,迭代的依据是字典中的键。

in, not in 等运算符判断指定的键是否在字典中;

如果索引一个字典中不存在的键,将会抛出异常KeyError;

del d[k]将会删除k对应的键值对,如果d中不存在k,则抛出异常KeyError;

字典的返回迭代器的方法比返回列表的方法要节省内存,因为迭代器更省内存。

non-mutating方法

d.copy()

  返回一份d的浅拷贝。

d.items()

  返回一个包含d中所有键值对的列表,每个键值对放在一个二元组中,元组的第一个元素是键,第二个元素是值。

d.keys()

  返回一个包含d中所有键的列表。

d.values()

  返回一个包含d中所有值的列表。

d.iteritems()

  返回一个d的所有键值对上的迭代器。

d.iterkeys()

  返回一个d的所有键上的迭代器。

d.itervalues()

  返回一个d的所有值上的迭代器。

d.get(k[, x])

  如果k是d中的键,则返回对应的值,否则返回x。

mutating 方法

d.clear()

  删除d中的所有键值对,使字典d为空。

d.update(d1)

  对于d1中的每一个键k,赋值使得d[k] = d1[k]

d.setdefault(k, [, v])

  如果k是d中的键,则返回d[k],否则将d[k]设置为v,并返回d[k]。

d.pop(k [, v])

  如果k是d中的键,则返回d[k],并删除对应的键值对;

  如果k不是d中的键,如果指定了v,此时返回v;否则抛出异常。

d.popitem()

  从d中随机删除一个任意的键值对。适合破坏性迭代,遍历完删除整个迭代器。

  *注意get(), pop(), setdefault()函数的区别,三者都能查看d中已有的键,get()只用于查看,没有副作用;pop()可能删除已有的键值对;setdefault()可能会添加新的键值对。

Python内置类型——dict的更多相关文章

  1. Python 内置类型 dict, list,线程安全吗

    近段时间发现一个 Python 连接数据库的连接是线程不安全的,结果惹得我哪哪儿都怀疑变量的多线程是否安全的问题,今天终于找到了正确答案,那就是 Python 内置类型 dict,list ,tupl ...

  2. Python——内置类型

    Python定义了丰富的数据类型,包括: 数值型:int, float, complex 序列:(iterable) str, unicode, tuple, list, bytearray, buf ...

  3. Python内置类型性能分析

    Python内置类型性能分析 timeit模块 timeit模块可以用来测试一小段Python代码的执行速度. class timeit.Timer(stmt='pass', setup='pass' ...

  4. 为什么继承 Python 内置类型会出问题?!

    本文出自"Python为什么"系列,请查看全部文章 不久前,Python猫 给大家推荐了一本书<流畅的Python>(点击可跳转阅读),那篇文章有比较多的"溢 ...

  5. 易被忽略的Python内置类型

    Python中的内置类型是我们开发中最常见的,很多人都能熟练的使用它们. 然而有一些内置类型确实不那么常见的,或者说往往会被我们忽略,所以这次的主题就是带领大家重新认识这些"不同寻常&quo ...

  6. 3、python内置类型(0529)

    python的内置对象类型以及支持的运算 python对象的相关术语 python程序中保存的所有数据都是围绕对象这个概念展开的 程序中存储的所有数据都是对象 每个对象都有一个身份.一个类型和一个值 ...

  7. python内置类型详细解释

    文章编写借鉴于内置类型 - Python 3.7.3 文档,主要用于自己学习和记录 python主要内置类型包括数字.序列.映射.类.实例和异常 有些多项集类是可变的.它们用于添加.移除或重排其成员的 ...

  8. Python内置类型——set

    Python中,内置类型set和frozenset用来表示集合,我们首先查看这两个类型支持的特殊对象,从而可以理解他们的特性. >>> dir(set) ['__and__', '_ ...

  9. Python内置类型(4)--数值

    Python有以下三种的数值类型: 整型(integers), 浮点型(floating point numbers), 以及 复数(complex numbers).此外,布尔是整数的子类型. 数值 ...

随机推荐

  1. 20172302 《Java软件结构与数据结构》实验三:查找与排序实验报告

    课程:<Java软件结构与数据结构> 班级: 1723 姓名: 侯泽洋 学号:20172302 实验教师:王志强老师 实验日期:2018年11月19日 必修/选修: 必修 实验内容 (1) ...

  2. php中静态方法的使用

    静态方法 (1)静态方法不能访问这个类中的普通属性,因为那些属性属于一个对象,但可以访问静态属性: (2)从当前类(不是子类)中访问静态方法或属性,可以使用 self 关键字,self 指向当前类,就 ...

  3. 树莓派.Qt.打包开发好的程序并运行的方法

    Qt开发的软件, 想要部署在树莓派上运行, 需要进行打包和发布 主要步骤如下: 1. 找1个树莓派用于开发与打包, 所以需要在它上面安装Qt开发环境 树莓派上安装Qt的方法, 可以看这里>> ...

  4. The Secret Mixed-Signal Life of PWM Peripherals

    The Secret Mixed-Signal Life of PWM Peripherals Pulse-width modulation (PWM) peripherals have enjoye ...

  5. 使用Maven自动部署Java Web项目到Tomcat问题小记

    导读 首先说说自己为啥要用maven管理项目,一个直接的原因是:我在自己电脑上开发web项目,每次部署到服务器上时都要经历如下步骤: 首先在Eclipse里将项目打包成war包 将服务器上原来的项目文 ...

  6. C#编程(七十六)----------使用指针实现基于栈的高性能数组

    使用指针实现基于栈的高性能数组 以一个案例为主来分析实现方法: using System; using System.Collections.Generic; using System.Linq; u ...

  7. SVN clean失败解决方法【转】

    原文地址:http://blog.csdn.net/victory08/article/details/42100325/ svn执行clean up后出现提示:svn cleanup failed– ...

  8. chapter15中使用generator来实现异步化操作的同步化表达的例子

    在p203中作者给了一个例子,我感觉这个例子写的不好,一开始我没有看懂,因为中间有很多细节没有交代,直到看了第二个用generator来实现ajax的例子之后才有所领悟.   所以我把作者给的这个用g ...

  9. Android批量图片加载经典系列——afinal框架实现图片的异步缓存加载

    一.问题描述 在之前的系列文章中,我们使用了Volley和Xutil框架实现图片的缓存加载(查看系列文章:http://www.cnblogs.com/jerehedu/p/4607599.html# ...

  10. 微信小程序wxss的background本地图片问题

    在web 或者webapp开发中我们习惯了直接饮用本地图片做背景,例如 .aaa { background: url('img/1.png'); } 但是这种引用方式在微信小程序中是无法使用的,控制台 ...