Python_字典

字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

Python_字典_第1张图片
7a5e03011ea57d485e381b198c39b50.png
Python_字典_第2张图片
图片1.png

示例一

$ vim dic.py
contacts = {
        'Alex' : 13651054608,
        'Rachel' : [138137434, 'student', 25],
        'Rain' : {'age':28 },
}

if contacts.has_key('Rain'):print '-----------------'
for i in contacts:
        print i,i.count('R')      #How many times did R appear? 

contacts['Alex'] = 3222332322       #change the value of Alex
del contacts['Alex']             # del the key(Alex)

contacts['Alex Li'] = 32223323223  #change the  key-value

for k,v in  contacts.items():
        print k,v    #print the key-value


示例二

>>> import tab
>>> contacts = {
... 'Alex' : 13651054608,
... 'Rachel' : [138137434, 'student', 25],
... 'Rain' : {'age':28 },
... }
##删除第一个
>>> contacts.popitem()
('Rachel', [138137434, 'student', 25])
>>> contacts
{'Alex': 13651054608, 'Rain': {'age': 28}}
>>> contacts['bin'] = 333
>>> contacts
{'bin': 333, 'Alex': 13651054608, 'Rain': {'age': 28}}
>>> contacts.popitem()
('bin', 333)
##指定删除
>>> contacts.pop('Rain')
{'age': 28}
##get用法
* m['a'],如果本身不存在该键,就会报错
* m.get(‘a’),则不会报错,还可以设置不存在该键时的返回值m.get('a',默认值)
>>> contacts
{'Alex': 13651054608}
>>> contacts.get('Rain')  #不报错
>>> contacts['Rain']      #报错
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'Rain'
########
contact_dic = {}
with open('contact_list2.txt') as f:
        for i in f.readlines():   # loop file content
          line = i.strip().split()    #去除空格
          contact_dic[line[0]] = line[1:]  #列表转化字典
#print contact_dic

if contact_dic.has_key('zhangxiaoteny'):
        print contact_dic.get('zhangxiaoteny')
else:
        for name, value in contact_dic.items():
                if 'zhangxiaoteny' in value: print 'go tyou'
                else: print 'no valid record'

你可能感兴趣的:(Python_字典)