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. bootStrap中的ul导航4

    <div class="container"> <br/> <ul class="nav nav-pills nav-justified&q ...

  2. Java开发笔记(九十一)IO流处理简单的数据压缩

    前面介绍的文件I/O,不管是写入文本还是写入对象,文件中的数据基本是原来的模样,用记事本之类的文本编辑软件都能浏览个大概.这么存储数据,要说方便确实方便,只是不够经济划算,原因有二:其一,写入的数据可 ...

  3. android TextView如何换行?

    具体代码是: rb_zuotian.setText("第一行"+"\n"+"第二行"); rb_jintian.setText(DateUt ...

  4. Python不定参数函数

    1. 元组形式 def test1(*args): print('################test1################') print(type(args)) print(arg ...

  5. Linux学习笔记14—文件的压缩与打包

    1..gz   gzip 压缩工具压缩的文件 .bz2   bzip2 压缩工具压缩的文件 .tar   tar 打包程序打包的文件(tar并没有压缩功能,只是把一个目录合并成一个文件) .tar.g ...

  6. STL——配接器、常用算法使用

    学习STL,必然会用到它里面的适配器和一些常用的算法.它们都是STL中的重要组成部分. 适配器 在STL里可以用一些容器适配得到适配器.例如其中的stack和queue就是由双端队列deque容器适配 ...

  7. Math类操作数据

    Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如: Math.round(); 常 ...

  8. yum安装与源码编译安装实际使用区别

    总结一些我实际生产使用的区别: 1.yum安装不是说不行,都行,各有千秋. 2.yum安装目录不集中,但基本遵循Linux文件夹的作用去划分文件,比如配置文件通常在/etc下. 3.yum安装说的模块 ...

  9. 卡尔曼滤波(Kalman Filter) ZZ

    一.引言 以下我们引用文献[1]中的一段话作为本文的開始: 想象你在黄昏时分看着一仅仅小鸟飞行穿过浓密的丛林.你仅仅能隐隐约约.断断续续地瞥见小鸟运动的闪现.你试图努力地猜測小鸟在哪里以及下一时刻它会 ...

  10. [Android]_[0基础]_[adb 有用命令]

    场景: 1. ADB 作为pc端和手机端通讯的桥梁, 起到调试手机app,查看手机信息的重要作用. 2. 这里列举了一些比較有用的命令方便速查. 查看开启USB调试的设备列表: adb devices ...