Python学习杂记_6_字典常用操作

时间:2022-10-22 08:50:28

字典操作

字典是由一对花括号括起来的一组“键值对”,每个键值对就是字典的一个元素,元素在字典中是无序的,常见操作如下:

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()方法转换成字典。