码迷,mamicode.com
首页 > 编程语言 > 详细

python----------字典

时间:2016-05-15 18:18:19      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:

字典 dictionary

Python 使用 {} 或者 dict() 来创建一个空的字典:

a = {}           a = dict()

type(a)
dict

 

有了dict之后,可以用索引键值的方法向其中添加元素,也可以通过索引来查看元素的值:

插入键值:

a["one"] = "this is number 1"
a["two"] = "this is number 2"
a
{‘one‘: ‘this is number 1‘, ‘two‘: ‘this is number 2‘}

  

字典没有顺序

 

当我们 print 一个字典时,Python并不一定按照插入键值的先后顺序进行显示,因为字典中的键本身不一定是有序的。

Python中不能用支持用数字索引按顺序查看字典中的值,而且数字本身也有可能成为键值,这样会引起混淆

键必须是不可变的类型

 

出于hash的目的,Python中要求这些键值对的键必须是不可变的,而值可以是任意的Python对象。

 

 

除了通常的定义方式,还可以通过 dict() 转化来生成字典:

inventory = dict(
    [(‘foozelator‘, 123),
     (‘frombicator‘, 18), 
     (‘spatzleblock‘, 34), 
     (‘snitzelhogen‘, 23)
    ])
inventory
{‘foozelator‘: 123, ‘frombicator‘: 18, ‘snitzelhogen‘: 23, ‘spatzleblock‘: 34}

  

pop 方法删除元素

pop 方法可以用来弹出字典中某个键对应的值,同时也可以指定默认参数:

`d.pop(key, default = None)`

删除并返回字典中键 key 对应的值,如果没有这个键,返回 default 指定的值(默认是 None )。

a.pop("two")
‘this is number 2‘
a
{‘one‘: ‘this is number 1‘}

update方法更新字典

person = {}
person[‘first‘] = "Jmes"
person[‘last‘] = "Maxwell"
person[‘born‘] = 1831
print person
{‘born‘: 1831, ‘last‘: ‘Maxwell‘, ‘first‘: ‘Jmes‘}
#把‘first‘改成‘James‘,同时插入‘middle‘的值‘Clerk‘:
person_modifications = {‘first‘: ‘James‘, ‘middle‘: ‘Clerk‘}
person.update(person_modifications)
print person
{‘middle‘: ‘Clerk‘, ‘born‘: 1831, ‘last‘: ‘Maxwell‘, ‘first‘: ‘James‘}

  

in查询字典中是否有该键

‘XX‘ in 字典

 

keys 方法,values 方法和items 方法

 
`d.keys()` 

返回一个由所有键组成的列表;

`d.values()` 

返回一个由所有值组成的列表;

`d.items()` 

返回一个由所有键值对元组组成的列表;

barn.keys()
[‘cows‘, ‘cats‘, ‘dogs‘]
barn.values()
[1, 3, 5]
barn.items()
[(‘cows‘, 1), (‘cats‘, 3), (‘dogs‘, 5)]

  

python----------字典

标签:

原文地址:http://www.cnblogs.com/zpython/p/5495556.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!