字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:
d = {key1 : value1, key2 : value2 }
7a5e03011ea57d485e381b198c39b50.png 图片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 "<stdin>", line 1, in <module>
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'
网友评论