Python内置类型——dict
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的更多相关文章
- Python 内置类型 dict, list,线程安全吗
近段时间发现一个 Python 连接数据库的连接是线程不安全的,结果惹得我哪哪儿都怀疑变量的多线程是否安全的问题,今天终于找到了正确答案,那就是 Python 内置类型 dict,list ,tupl ...
- Python——内置类型
Python定义了丰富的数据类型,包括: 数值型:int, float, complex 序列:(iterable) str, unicode, tuple, list, bytearray, buf ...
- Python内置类型性能分析
Python内置类型性能分析 timeit模块 timeit模块可以用来测试一小段Python代码的执行速度. class timeit.Timer(stmt='pass', setup='pass' ...
- 为什么继承 Python 内置类型会出问题?!
本文出自"Python为什么"系列,请查看全部文章 不久前,Python猫 给大家推荐了一本书<流畅的Python>(点击可跳转阅读),那篇文章有比较多的"溢 ...
- 易被忽略的Python内置类型
Python中的内置类型是我们开发中最常见的,很多人都能熟练的使用它们. 然而有一些内置类型确实不那么常见的,或者说往往会被我们忽略,所以这次的主题就是带领大家重新认识这些"不同寻常&quo ...
- 3、python内置类型(0529)
python的内置对象类型以及支持的运算 python对象的相关术语 python程序中保存的所有数据都是围绕对象这个概念展开的 程序中存储的所有数据都是对象 每个对象都有一个身份.一个类型和一个值 ...
- python内置类型详细解释
文章编写借鉴于内置类型 - Python 3.7.3 文档,主要用于自己学习和记录 python主要内置类型包括数字.序列.映射.类.实例和异常 有些多项集类是可变的.它们用于添加.移除或重排其成员的 ...
- Python内置类型——set
Python中,内置类型set和frozenset用来表示集合,我们首先查看这两个类型支持的特殊对象,从而可以理解他们的特性. >>> dir(set) ['__and__', '_ ...
- Python内置类型(4)--数值
Python有以下三种的数值类型: 整型(integers), 浮点型(floating point numbers), 以及 复数(complex numbers).此外,布尔是整数的子类型. 数值 ...
随机推荐
- Codeforces.567E.President and Roads(最短路 Dijkstra)
题目链接 \(Description\) 给定一张有向图,求哪些边一定在最短路上.对于不一定在最短路上的边,输出最少需要将其边权改变多少,才能使其一定在最短路上(边权必须为正,若仍不行输出NO). \ ...
- BZOJ.2118.墨墨的等式(思路 最短路Dijkstra 按余数分类)
题目链接 题意可以看做,用\(a_1,a_2,...,a_n\),能组成多少个\([L,R]\)中的数. (40分就是个完全背包) 首先如果\(k*a_i+x\)可以组成,那么\((k+1)*a_i+ ...
- 洛谷.2219.[HAOI2007]修筑绿化带(单调队列)
题目链接 洛谷 COGS.24 对于大的矩阵可以枚举:对于小的矩阵,需要在满足条件的区域求一个矩形和的最小值 预处理S2[i][j]表示以(i,j)为右下角的C\(*\)D的矩阵和, 然后对于求矩形区 ...
- java使用Base64编码
import java.io.IOException;import java.io.UnsupportedEncodingException; import org.junit.Test; impor ...
- Python语言的高级特性
函数式编程 基于lambda演算的一种编程方式 函数中只有函数 函数可以作为参数,同样可以作为返回值 纯函数式编程语言:LISP , Haskell python函数式编程只是借鉴函数式编程的一些特点 ...
- php_ssh2操作linux
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/9/15 * Time: 14:11 */ header( ...
- Synchronized、lock、volatile、ThreadLocal、原子性总结、Condition
http://blog.csdn.net/sinat_29621543/article/details/78065062
- c++文件打包工具实现
没事做就来写一个打包的工具吧.很多是网络上面找的,只是我把他修改一下合并在一起. // PacketFile.cpp : 定义控制台应用程序的入口点. #include "stdafx.h& ...
- Meclipse alt+/ 没有提示
- .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)
本文内容 异步编程类型 异步编程模型(APM) 参考资料 首先澄清,异步编程模式(Asynchronous Programming Patterns)与异步编程模型(Asynchronous Prog ...