python字典之说
python字典的方法
Python字典可存储任意类型对象,如字符串、数字、元组…… 优点:取值方便,速度快
- 键必须独一无二,但值则不必;
- 值可以取任何数据类型,但必须是不可变的,如字符串,数组或元组。
一. keys(),values()和items()方法
这三个字典方法,将返回类似列表的值,分别对应字典的键,值,键值对。
1. keys()返回key组成的列表
例:
mydict={'myname':'Travis','myage':100,'myheight':181}
print mydict.keys()
输出如下:为key组成的列表:
['myage', 'myheight', 'myname']
ps:列表里的元素无序,因为字典本身就无序。
2. values()返回value组成的列表
例:
mydict={'myname':'Travis','myage':100,'myheight':181}
print mydict.values()
输出为value组成的列表:
[100, 181, 'Travis']
3. items()方法返回可遍历的(键, 值) 元组数组,可遍历
例:
# -*- coding: utf-8 -*-
mydict={'myname':'Travis','myage':100,'myheight':181}
print "字典值 : %s" % mydict.items()
# 遍历字典列表
for key, values in mydict.items():
print key, values
输出为(key,value)组成的列表:
字典值 : [('myage', 100), ('myheight', 181), ('myname', 'Travis')]
myage 100
myheight 181
myname Travis
二. has_key()方法
Python 字典的has_key() 函数用于判断键是否存在于字典中,如果键在字典dict里返回true,否则返回false。
语法如下:
dict.has_key(key)
其中,key是要在字典中搜索的键。
例:
# -*- coding: utf-8 -*-
mydict={'myname':'Travis','myage':100,'myheight':181}
print "Value : %s" % mydict.has_key('myage')
print "Value : %s" % mydict.has_key('Sex')
输出为:
Value : True
Value : False
三. get()方法
. python提供的get()方法,有两个参数:要取得该值的键,以及如果该键不存在时,返回的备用值。
例:
mydict={'myname':'Travis','myage':100,'myheight':181}
print(mydict.get('weight',70))
输出为 :
70
首先检查是否有'weight'这个键,因为在字典mydict中不存在‘weight’这个键,所以返回第二个参数-备用值70。
====
. 当然,如果键存在时,则返回键对应的value。
例:
mydict={'myname':'Travis','myage':100,'myheight':181}
print(mydict.get('myname',70))
输出为
Travis
四. 遍历字典
无须转换成list 格式,保留了字典原有的特性
例:
# -*- coding: utf-8 -*-
mydict={'myname':'Travis','myage':100,'myheight':181}
for k,v in mydict.items():
print(k,v)
输出为:
('myage', 100)
('myheight', 181)
('myname', 'Travis')
例:
mydict={'myname':'Travis','myage':100,'myheight':181}
for k in mydict:
print k
输出:
myage
myheight
myname
ps:k得到的是键
五. 修改字典
mydict['key'] = value
key 存在即修改,key不存在即新增
六. 删除字典元素
1. mydict.pop('key')
ps: 必须要传值,因为字典是无序的
例:
mydict={'myname':'Travis','myage':100,'myheight':181}
mydict.pop('myname') #必须要传值,因为字典是无序的
print mydict
输出:
{'myage': 100, 'myheight': 181}
2. mydict.popitem()
ps: 随机删除一个
例:
# -*- coding: utf-8 -*-
mydict={'myname':'Travis','myage':100,'myheight':181}
mydict.popitem() #随机删除一个
print mydict
输出:
{'myheight': 181, 'myname': 'Travis'}
3. del mydict['key']
例:
# -*- coding: utf-8 -*-
mydict={'myname':'Travis','myage':100,'myheight':181}
del mydict['myage']
print mydict
输出:
{'myheight': 181, 'myname': 'Travis'}
4. mydict.clear() 清空字典
# -*- coding: utf-8 -*-
mydict={'myname':'Travis','myage':100,'myheight':181}
mydict.clear() #清空字典
print mydict
输出:
{}