字典操作
字典是由一对花括号括起来的一组“键值对”,每个键值对就是字典的一个元素,元素在字典中是无序的,常见操作如下:
info = {
'name':'xiaoming',
'sex':'nan',
'age':20,
'id':1,
}
print(info['id']) # 通过key取值
print(info['addr']) # 通过key取值
print(info.get('id')) # 通过key取值
print(info.get('addr')) # 通过key取值
#用中括号取值和get方法取值的区别 ,get方法获取不到key的时候
#不会报错,中括号取值找不到key会报错,所以get方法更常用
#get方法还可以多传一个参数,如果get不到key的话,那么返回这个参数值。
#如果不写的话,默认get不到返回None
info['addr'] = 'Beijing' #给字典新增一个键值对
info.setdefault('phone',13811111) #给字典新增一个键值对
info['id'] = 7
#在有这个key的情况下那就是修改这个key的value
#没有这个key的话,就是新增
#字典是无序的
del info['addr'] #删除字典的一个指定元素(键值对)
info.pop('addr') #删除字典的一个指定元素(键值对),
#pop删除的时候必须得指定key,pop方法会返回删除的key对应的value
info.popitem() #随机删除一个元素
info.clear() #清空字典
例子:
all = {
'car':
{
'color':['red','yellow','black'],
'moeny':1111111,
'pailiang':"2.5L",
'name':"BMW"
} ,
'car1':
{
'color':['red','yellow','black'],
'moeny':1111111,
'pailiang':"2.5L",
'country':"china"
},
'car2':
{
'color':['red','yellow','black'],
'moeny':1111111,
'pailiang':"2.5L"
}
}
print(all)
all.get('car').get('color')[1] = 'Orange' # 把car的颜色改成Orange
print(all)
all['car']['color'][1]='Blue' # 把car的颜色改成Blue
print(all)
print(all.keys()) #获取该字典的所有key(最外层字典的,如果内又嵌套了字典则不管)
print(all.values()) #获取该字典所有的value
print(all.items()) #获取字典的key和value,循环的时候用
#直接循环字典循环的是字典的key,如果想循环的时候同时获取到key和value
#那么就要用.items()方法
#以上这一组方法不论取出字典的keys,values 还是结items返回的结果都是字典特定的类型你可以用打印tpye()方法来查看,不能用in判断某个字符串是否在这些返回结果里。
下面这种方法可以把一个字串转换成字典:
eval(字符串)
注意:被转换的字符串一定要符合字典的格式,比如 "{'iPhone':{'id':1,'price':5500},'iPad':{'id':2,'price':2000}}", 这样的字符串就可以用eval()方法转换成字典。