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. 51Nod1577 异或凑数 线性基 构造

    国际惯例的题面:异或凑出一个数,显然是线性基了.显然我们能把区间[l,r]的数全都扔进一个线性基,然后试着插入w,如果能插入,则说明w不能被这些数线性表出,那么就要输出"NO"了. ...

  2. Python获取系统音量

    1,如果是windows下 试试这个python 模块winsoundhttp://docs.python.org/2/library/winsound.html这个也可以winmm调整windows ...

  3. 潭州课堂25班:Ph201805201 python 模块 datetime,logging 第七课 (课堂笔记)

    datetime 模块 # -*- coding: utf-8 -*-# 斌彬电脑# @Time : 2018/7/9 0009 20:42import datetime d = datetime.d ...

  4. 【NOIP2014模拟赛No.1】我要的幸福

    OJ题号:ZHOJ1297 思路:搜索. 先预处理注定不能走的路径,然后dfs可以走的路径. #pragma GCC optimize ("O2") #include<cst ...

  5. c/c++中int main(int argc,char *argv[])的具体含义

    int main(int argc,char * argv[ ]) argv为指针的指针 argc为整数 char **argv or: char *argv[ ] or: char argv[ ][ ...

  6. Codeforces Round #410 (Div. 2) 题解 【ABCD】

    A 题意:问你恰好修改一个字符,能不能使得字符串变成回文串 题解:显然直接for一遍,如果长度为偶数,那么不一样的必须是1个:如果长度为奇数,那么不一样的也可以是0个 #include<bits ...

  7. mysql 跨表更新

    update hhs_goods as g INNER JOIN (select SUM(goods_number) as goods_number,goods_id from hhs_order_g ...

  8. 根据请求号(request ID)查找正在运行的sql

    --下面的SQL可以根据Request ID找到对应的Session信息: select * from v$session where paddr in (select addr from v$pro ...

  9. Array and Linkedlist区别与操作的时间复杂度(转载)

    转载自:http://blog.csdn.net/tm_wb/article/details/6319146 数组链表堆栈和队列 数组链表堆栈和队列是最基本的数据结构,任何程序都会涉及到其中的一种或多 ...

  10. C#语言

    封面 书名 版权 前言 目录 第Ⅰ部分 C#语言 第1章  NET体系结构 1.1  C#与.NET的关系 1.2  公共语言运行库 1.2.1  平台无关性 1.2.2  提高性能 1.2.3  语 ...