python全栈开发笔记---------数据类型---字典方法

def clear(self) 清空字典里所有元素

# info = {
#     "k1":18,
#     "k2":True,
#     "k3":[
#         11,
#         [],
#         (),
#         22,
#         33,
#         {
#             'kk1':'vv1',
#             'kk2':'vv2',
#             'kk3':(11,22)
#         }
#     ],
#     "k4":(11,22,33,44)
# }
# info.clear()     #清空字典里所有元素
# print(info)

def copy(self) 浅拷贝,生成新的值付给新的变量。

def fromkeys(*args, **kwargs) #创建一个新字典。

dic = {123,456,"age","name"}
dic1 = dict.fromkeys(dic)
print(dic1)      #输出结果:{456: None, 123: None, 'age': None, 'name': None}
# dic = {123,456,"age","name"}
# dic1 = dict.fromkeys(dic,10)
# print(dic1)         #输出结果:{456: 10, 123: 10, 'age': 10, 'name': 10}

def get(self, *args, **kwargs) 返回指定键的值,如果值不在字典中返回d值,默认为None

dic ={"k1":"v1"}
v = dic['k1']
print(v)   #输出结果:v1
dic ={"k1":"v1"}v1 = dic['k1111']print(v1)     #取不存在的结果时候报错
dic ={"k1":"v1"}v2 = dic.get('k1')print(v2)    #输出结果:v1
dic ={"k1":"v1"}
v3 = dic.get('k1111')
print(v3)   #通过get取值时候,不存在的key时候,返回None 。后面可以指定值。
dic ={"k1":"v1"}
v4 = dic.get('k1111',111)
print(v4)    #输出结果:111

def items(self)以列表返回可遍历的(键, 值) 元组数组。

m = {1:1,2:2,3:3}
m1 =m.items()
print(m1)   #输出结果:dict_items([(1, 1), (2, 2), (3, 3)])

def keys(self)以列表返回一个字典所有的键。

dic = {'Name': 'Zara', 'Age': 7}
v =dic.keys()
print(v)    #输出结果:dict_keys(['Name', 'Age'])

def values(self) 函数以列表返回字典中的所有值。

dic = {'Name': 'Zara', 'Age': 7}
v =dic.values()
print(v)    #输出结果:dict_values(['Zara', 7])

def pop(self, k, d=None)函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。

dic = {"k1":'v1',
       "k2":'v2'
       }
v =dic.pop("k1")
print(dic,v)      #输出结果:{'k2': 'v2'} v1

def popitem(self) 方法随机返回并删除字典中的一对键和值。

                             # 如果字典已经为空,却调用了此方法,就报出KeyError异常。

dic = {"k1":'v1',
       "k2":'v2'
       }
v = dic.popitem()
print(v)           #输出结果:('k2', 'v2')  随机删除。

def setdefault(self, *args, **kwargs) 字典 setdefault() 函数和get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值。

# dic = {"k1":'v1',
#         "k2":'v2'
#        }
# v = dic.setdefault("k1111",111)
# print(v,dic)   #输出结果:111 {'k1': 'v1', 'k2': 'v2', 'k1111': 111}

def update(self, E=None, **F) 添加到指定字典dict里的字典。

dic = {"k1":'v1',
#        "k2":'v2'
#        }
# dic.update({'k1':'111111','k3':123})
# print(dic)   #输出结果:{'k1': '111111', 'k2': 'v2', 'k3': 123}
dic = {"k1": 'v1',
       "k2": 'v2'
       }
dic.update(k1=123, k3=345, k5="asdf")  #
print(dic)  # 输出结果:{'k1': 123, 'k2': 'v2', 'k3': 345, 'k5': 'asdf'}

ps: 如果**kwargs 这种的python内部 就会自动(k1=123,k3=345,k5="asdf") 转换成字典{'k1':'111111','k3':123}形式。


 

get  与setdefault的区别

使用get取值:

取出一个已有键的值(直接返回结果)

取出一个不存在的键的值(无返回值,但不报错)

使用setdefault取值:

取出一个已有键的值(直接返回结果)

取出一个不存在的键的值(返回默认键的值,并且将新的键值保存在字典中)

 

 

猜你喜欢

转载自www.cnblogs.com/kangming-/p/9855089.html