字典是Python里唯一的映射类型。字典是可变的、无序的、大小可变的键值映射,有时候也称为散列表或关联数组。

例子在下面:

dic = {"apple":2, "orange":1}    #定义一个字典
>>> dic.copy()    #复制字典
{'orange': 1, 'apple': 2}
>>> dic["banana"] = 5    #增加一项
>>> dic.items()    #获得字典中成员的列表
[('orange', 1), ('apple', 2), ('banana', 5)]
>>> dic.pop("apple", 3)    #删除“apple”,如果没有“apple”,则返回3
3
>>> dic
{'orange': 1, 'banana': 5}
>>> dic.keys()    #获得键的列表
['orange', 'banana']
>>> dic.values()    #获得值得列表
[1, 5]
>>> dic.update({"banana":3})    #更新“banana”的值
>>> dic
{'orange': 1, 'banana': 3}
>>> dic.update({"apple":2})      #更新“apple”的值,如果没有,则添加
>>> dic
{'orange': 1, 'apple': 2, 'banana': 3}
>>> dic["orange"]      #通过键获取值
1
>>> dic.clear()     #清空字典

>>> dic
{}

再看一个列子:

#创建一个初始字典,它包含有一个字符串和一个整数。他们的键都是字符串。

>>> book = {"title":"Python web development", "year":2008}

#显示这个对象。
>>> book
{'year': 2008, 'title': 'Python web development'}

#检查字典是否含有某个键,为真
>>> "year" in book
True

#检查字典是否含有某个键,为假
>>> "pub" in book
False

#使用get方法获取给定键的值(在这里获取的是默认值)
>>> book.get("pub", "N/A")
'N/A'

#加入一个新的键-值对
>>> book["pub"] = "Addison Wesley"

#再次使用get方法,不过这次成功的获取了值
>>> book.get("pub", "N/A")
'Addison Wesley'

#迭代整个字典并显示每一对键-值
>>> for key in book:
 print key, ":", book[key]

year : 2008
pub : Addison Wesley
title : Python web development

字典中常用的方法:

dic.clear():清空字典

dic.copy():复制字典

dic.get(k):获得键k的值

dic.has_key(k):是否包含键k

dic.items():获得由键和值组成的列表

dic.keys():获得键的列表

dic.pop(k):删除键k

dic.update():更新成员(用另一个字典更新字典)

dic.values():获得值的列表

Python: 字典的基本操作的更多相关文章

  1. Python 字典(Dictionary) 基本操作

    Python字典是一种可变容器模型,可存储任意类型对象:如字符串.数字.元组等.它以键值对(key-value)的形式存在,因此相当于Hashmap在python中的实现. §1. 创建字典  字典由 ...

  2. python字典的基本操作

    字典的基本方法 什么是字典: 字典是一种 key - value的数据类型,听alex说就像我们上学用的字典,通过笔划,字母来查找对饮页面的详细内容. 语法: id_dict = { 'stu1101 ...

  3. python字典的基本操作,以及可变数据类型和不可变数据类型的区分

    字典:采用键值对存储数据的数据类型,字典的键必须是不可变的数据类型 补充: 不可变(可哈希)数据类型:str,bool,int,tuple 可变(不可哈希)数据类型:list,  dict, set ...

  4. Python 字典方法

    访问字典的值 字典中的 键/值 实际上就是一种映射关系,只要知道了 “键”,就肯定知道 “值”. >>> my_dict = dict(name = 'zhangsan',other ...

  5. Python字典和集合

    Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...

  6. python 字典排序 关于sort()、reversed()、sorted()

    一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...

  7. python字典中的元素类型

    python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...

  8. python字典copy()方法

    python 字典的copy()方法表面看就是深copy啊,明显独立 d = {'a':1, 'b':2} c = d.copy() print('d=%s c=%s' % (d, c)) Code1 ...

  9. python 字典实现类似c的switch case

    #python 字典实现类似c的switch def print_hi(): print('hi') def print_hello(): print('hello') def print_goodb ...

随机推荐

  1. 显示intent和隐示intent有什么区别

    显式Intent定义:对于明确指出了目标组件名称的Intent,我们称之为显式Intent. 隐式Intent定义:对于没有明确指出目标组件名称的Intent,则称之为隐式Intent. 说明:And ...

  2. 理解Condition的用法

    这个示例中BoundedBuffer是一个固定长度的集合,这个在其put操作时,如果发现长度已经达到最大长度,那么会等待notFull信号,如果得到notFull信号会像集合中添加元素,并发出notE ...

  3. VS2010 无法计算HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0@VCTargetPath处的属性表达式

    VS2010打开.csproj工程文件报错,不能加载,错误信息如下: 无法计算HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\1 ...

  4. 关于import caffe出错的解决

    [http://blog.csdn.net/wuzuyu365/article/details/52431062]关于在caffe下,import caffe报错的解决:conda install p ...

  5. ubuntu16041,安装opencv3.1.0

    [非常感谢:http://www.linuxdiyf.com/linux/18482.html] 1.依赖关系: sudo apt-get install build-essentialsudo ap ...

  6. c++中的宏 #define _CLASSDEF(name) class name

    #include <iostream> using namespace std; #define _CLASSDEF(name) class name; \ typedef name * ...

  7. linux备份mysq脚本

    filename=`date +%Y%m%d_%H%M%S`database=finebwservername=officialcreatefilename=${servername}_${datab ...

  8. lucene 内存索引 和文件索引 合并

    IndexWriter.addIndexes(ramDirectory); http://blog.csdn.net/qq_28042463/article/details/51538283 在luc ...

  9. 使用delphi+intraweb进行微信开发2—intraweb以.net方式发布(以asp.net mvc4模式部署)在IIS(.net虚拟主机)上

    在第一讲使用delphi+intraweb进行微信开发1--微信平台接入中我们编写了一个简单的微信接口程序,这个程序我是用Stand Alone Server / Service 方式编译的程序,并且 ...

  10. 压测如何观测jvm,就是使用jmx来实现jvm监控

    jps.jstack.jmap.jhat.jstat.hprof 基于jmx可以开发web版本,方便压测的时候观测jvm以及线程的信息 ================================ ...