创建字典

phonebook = {'Alice': '', 'Beth': '', 'Cecil': ''}

以 value :key  键值对的格式。冒号前是键,冒号后时值 ,组合在一起是一项。多个项放在一个花括号内。

函数dict()用来把其他项创建成一个字段

>>> item = [('name', 'tom'), ('age', 17)]
>>> d=dict(item)
>>> d
{'name': 'tom', 'age': 17}

或者

>>> d = dict(name='tom', age=17)
>>> d
{'name': 'tom', 'age': 17}

len() 返回字段包含项的个数

>>> len(d)
2

通过字典的键访问值

>>> d['name']
'tom'

修改或增加一个项

>>> d['age']=18
>>> d
{'name': 'tom', 'age': 18}
>>> d['a']=33
>>> d
{'name': 'tom', 'age': 18, 'a': 33}

删除一项

>>> del d['a']
>>> d
{'name': 'tom', 'age': 18}

检查字段是否有此键

>>> 'age' in d
True

字典方法

1.clear() 删除所有项

2.copy() 返回一个新字典

y=x.copy()

修改值原字典不会受影响,替换值原字典会受到影响。

遇到替换问题可以用深复制的方法--暂时不想了解

3.fromkeys()

创建一个新字典,每个键对应的值为None。

>>> dd={}.fromkeys(['name','age'])
>>> dd
{'name': None, 'age': None}

如果不行默认None

>>> xx={}.fromkeys(['name','age'],'abc')
>>> xx
{'name': 'abc', 'age': 'abc'}

4.get

get和键访问一样。但是键访问没有的键会引发异常。get访问没有得键会返回None

>>> xx['a']
Traceback (most recent call last):
File "<pyshell#78>", line 1, in <module>
xx['a']
KeyError: 'a'
>>> xx.get('name')
'abc'
>>> xx.get('a')
>>>
>>>

5.items

返回一个字典视图

>>> d
{'y': , 'z': , 'a': }
>>> d.items()
dict_items([('y', ), ('z', ), ('a', )])

6.keys

返回一个只包含键的字典视图。值无重复

>>> d
{'y': , 'z': }
>>> d.keys()
dict_keys(['y', 'z'])

7.pop

方法pop可用于获取与指定键相关联的值,并将该键-值对从字典中删除

>>> d={'x':,'y':}
>>> d.pop('x') >>> d
{'y': }

8.popitem

随机弹出一项,并返回弹出项

>>> d
{'y': , 'z': , 'a': , 'b': }
>>> d.popitem()
('b', )
>>> d
{'y': , 'z': , 'a': }

9.setdefault

如果setdefault 参数对应的键在字典里无此键,则在字典添加这个键值。如果字典里有此键,则不更新

>>> d
{'y': , 'z': , 'a': }
>>> d.setdefault('b',) >>> d
{'y': , 'z': , 'a': , 'b': }
>>> d['b']=
>>> d
{'y': , 'z': , 'a': , 'b': }
>>> d.setdefault('b',) >>> d
{'y': , 'z': , 'a': , 'b': }

10.update

使用字典项来更新字典,没有的项会新增

>>> d
{'y': , 'z': , 'a': }
>>> x={'a':,'b':}
>>> d.update(x)
>>> d
{'y': , 'z': , 'a': , 'b': }
>>>

11.values

返回一个只包含值的字典视图。值有可能重复

>>> d
{'y': , 'z': , 'a': }
>>> d.values()
dict_values([, , ])
>>>

(4)python 字典的更多相关文章

  1. Python字典和集合

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

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

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

  3. python字典中的元素类型

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

  4. python字典copy()方法

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

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

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

  6. python字典的常用操作方法

    Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需 ...

  7. Python 字典(Dictionary)操作详解

    Python 字典(Dictionary)的详细操作方法. Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字 ...

  8. Python 字典(Dictionary) get()方法

    描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 ...

  9. Python 字典(Dictionary) setdefault()方法

    描述 Python 字典(Dictionary) setdefault() 函数和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值. 语法 setdefault()方法语法: ...

  10. python 字典内置方法get应用

    python字典内置方法get应用,如果我们需要获取字典值的话,我们有两种方法,一个是通过dict['key'],另外一个就是dict.get()方法. 今天给大家分享的就是字典的get()方法. 这 ...

随机推荐

  1. httpclient upload file

    用httpclient upload上传文件时,代码如下: HttpPost httpPost = new HttpPost(uploadImg); httpPost.addHeader(" ...

  2. 更新协同开发工具SVN的链接的服务器地址

    公司内的协同开发工具使用的SVN,因为换了个服务器需要重置SVN地址,一下子有点措手不及. 研究了下SVN的操作菜单,发现有一个功能“重新定位”,应该就是我要找的了,试了一下果真没错,记录下 第一步: ...

  3. 关于GDI+

    原文链接地址:http://www.2cto.com/kf/201107/97283.html 一 介绍 其实本人对GDI+不能算是专家,只是在几个小项目中应用了一些而已, 算是入门了. 刚好最近有点 ...

  4. CF762D Maximum Path

    题目戳这里. 首先明确一点,数字最多往左走一次,走两次肯定是不可能的(因为只有\(3\)行). 然后我们用\(f_{i,j}\)表示前\(i\)行,第\(i\)行状态为\(j\)的最优解.(\(j\) ...

  5. poj3683 2-sat Priest John's Busiest Day

    Description John is the only priest in his town. September 1st is the John's busiest day in a year b ...

  6. centos安装net-speeder

    以前介绍过VPS上安装锐速对VPS的加速效果,但是这货对 Linux 内核有要求,一般就只能在XEN或者KVM的机子上安装.不过还好锐速有一个免费的代替品:net-speeder,所以这里介绍一下 D ...

  7. windows远程桌面访问ubuntu12.04

    转载自 : http://blog.csdn.net/shuzui1985/article/details/7592569 1.dashboard----桌面共享 我们共享所使用的协议是rdp,所以我 ...

  8. 【BZOJ1976】能量魔方 [最小割]

    能量魔方 Time Limit: 10 Sec  Memory Limit: 64 MB[Submit][Status][Discuss] Description 小C 有一个能量魔方,这个魔方可神奇 ...

  9. 汕头市队赛 C SRM 05 - YYL 杯 R1 T3!

    C SRM 05 - YYL 杯 R1 背景 tjmak 描述 给一个大小为n的序列V.序列里的元素有正有负.问至少要删除多少个元素使得序列里不存在区间(要求非空)和 >= S.如果答案大于m, ...

  10. Codeforces Round #301 解题报告

    感觉这次的题目顺序很不合理啊... A. Combination Lock   Scrooge McDuck keeps his most treasured savings in a home sa ...