python字典之说

python字典的方法

Python字典可存储任意类型对象,如字符串、数字、元组…… 优点:取值方便,速度快


  1. 键必须独一无二,但值则不必;
  2. 值可以取任何数据类型,但必须是不可变的,如字符串,数组或元组。

一. 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

输出:

{}

posted @ 2018-05-09 22:15  moonok  阅读(151)  评论(0)    收藏  举报