字典操作

#.字典的创建
users = {'name':'niuhy','age':18}
user_info={
'jmy':{
'money':100,
'shengao':1.5,
'tg':1000,
'password':'123456'
},
'agr':{
'money':250,
'addr':"lis",
'tg':1500,
'password':'456123'
}
}
#.注意:字典中key 和value间是以:连接,而不是=,并且一对key_value后面有逗号,字典可以套用字典,不过子字典也是以key:value形式存在
#.字典的取值
print(users['name'])#如果key不存在时报错
print(users.get('name'))#如果key不存在时打印none
print(users.get('age'))
#.字典元素的修改
users['name1']='dashi'
users['name1']='iiiii'
users.update(name='dddddd')
print(users)
#.字典元素的增加
users['addr']='ooooo'
users.setdefault('name2','hhhh')
print(users)
#.字典元素的删除
del users['name']
users.pop('age')
users.popitem()#随机删除
# print(users)
#.字典元素的输出
print(users)#打印字典中的key & value
print(users.keys())#打印所有key,等同于
print(users.values())#打印所有值
print(list(users))#list形式打印所有key
print(list(users.keys()))#list形式打印所有key
print(list(users.values()))#list形式打印所有value
val = list(users.values())#强制类型转换,以list形式打印
print(val)
#字典是无序的
#.for循环字典元素
简单字典:
user = {
    'name':'aaa',
    'age':'55'
}
for k in user:
    print(k)
print(user.items())
#打印结果:name
       age
                    dict_items([('name', 'aaa'), ('age', '55')])
 
for k,v in user.items():
    print(k + '  and  ' + v)
#打印结果:name and aaa
                    age and 55
 
for k in user:
    print(k + " and value : " + user[k])
#打印结果:age and value : 55
                   name and value : aaa
复杂字典:
users = {
    'aa' : {
    'name':'abc',
    'age':'15',
    'money':'50'
    },
    'b':{
    'name':'dfe',
    'age':'6',
    'money':'20'
    }
}#注意:字典最后没有逗号
#.获取字典中的指定key的值
print(users['aa'])
#打印结果:{'money': '50', 'age': '15', 'name': 'abc'}
print(users['aa']['name'])
#打印结果:abc
#.遍历字典中的key&value
 
print(users)
#打印结果:{'aa': {'money': '50', 'age': '15', 'name': 'abc'}, 'b': {'money': '20', 'age': '6', 'name': 'dfe'}}
 
print(users.keys())
#打印结果:['aa', 'b']#由于values中包含子字典元素,字典是不能以list形式输出的,但我们可以通过for循环依次向一个空白list中添加元素输出一个二维list
 
for k in users:
print('key value : {k}'.format(k=k))
#打印结果:key value : aa
                    key value : b
 
for k,v in users.items()
print('key : %s; value : %s'%(k,v))
#打印结果:key : aa; value : {'money': '50', 'age': '15', 'name': 'abc'}
                    key : b; value : {'money': '20', 'age': '6', 'name': 'dfe'}
 
a=[]
for i in users.keys():
a.append(i)
a.append(list(users[i]))
print(a)
#打印结果:['aa', ['money', 'age', 'name'], 'b', ['money', 'age', 'name']]
备注:1.只能将key 或者value的值直接以list的方式输出,不能将字典直接转化为list输出
           2.for循环字典时,循环的是字典的key
#.if判断字典元素
users = {
"niu":"789",
"abc":"456",
"ddd":"123"
 }
 if 'niu' in users:
        print('ok')
else:
       print('bu ok')
#用in判断一个字节是否在字典中时判断的是key
#.将字典写入文件中
f=open('a.txt','a+')
f.write(str(users)+'\n')
f.writelines(list(users.keys()))
f.seek(0)
print(f.read())
print(type(f.read()))#类型查看
 
待补充eval()函数方法
 
#类型list() int() float()str() tuple() dic()

posted on 2017-09-25 15:36  yezi_396  阅读(186)  评论(0编辑  收藏  举报

导航