Python中的字典

2021-06-28 05:06

阅读:432

标签:font   for   查找   增加   添加   定义   常用方法   不可   val   

Python内置了字典:dict,全称dictionary,使用键-值(key-value)存储,具有极快的查找速度。
定义一个字典:
dic = {name:jack,age:18,weight:76,height:175}
其中 ‘name‘,‘age‘,‘weight‘,‘height‘是字典中的key,
key在字典中是唯一的,其数据类型为不可变的对象,如:字符串,整数等,list是可变的对象,就不能做为key来使用

dict和list比较:
  dict: 查找和插入的速度极快,不会随着key-value的增加而变慢;但是占用的资源比较多,dict是无序的
  list:查找和插入的速度慢,会随着元素的增加时间变长,但是占用的资源较少,list是有序的

dict的常用方法:
查找:字典的查找通过key来查找,

value = dic[name]
print(value)
如果key不存在,则会报错 KeyError,可以通过 get()方法来获取,并指定自定义的返回值
value = dic.get(name,没有这个键)
print(value)

上面的代码,使用get()方法,来获取 ‘name‘对应的value 如果‘name‘存在,则返回对应的value,如果 ‘name‘ 不存在,则返回 ‘没有这个键‘,如果第二个参数不指定,默认返回 None

增加内容:

dic[adress] = beijing  # 通过 dict[key] = value 的方式来增加元素。注意:如果key存在,则会覆盖对应的value
print(dic)
还可以通过setdefault() 方法来增加内容
dic.setdefault(house_number,888)
print(dic)

使用setdefault() 方法,如果只添加key,不给第二个参数赋值,默认为None
dic.setdefault(house)
print(dic)
删除内容 pop() 方法
dic_pop = dic.pop(adre,没有此键) 
print(dic_pop)
print(dic)
上面的代码:删除指定的key-value,并返回对应的value。如果指定的key不存在, 返回自定义内容,但,如果key不存在,第二个参数没有填写。则会报错

popitem()方法
print(dic.popitem()) # 随机删除一对key-value对儿,并返回删除的key-value 以元组的形式返回

del 方法 无返回值
del dic[name]
print(dic)

clear()方法 清空字典
dic.clear()
print(dic)

修改字典内容,可以通过修改key对应的值来操作
dic = {name:jack,age:18,weight:76,height:175}
dic[name] = tom
print(dic)

update() 方法
dic_1 = {name:jack,age:18}
dic_2 = {name:tom,address:beijing,age:19,height:178}
dic_1.update(dic_2)
print(dic_1)
以上代码,将dic_2 的内容更新到 dic_1中去

字典循环操作

dic = {name:jack,age:18,weight:76,height:175}
for k in dic:
    print(k) # 默认打印字典的key
for k in dic.keys():
    print(k) # 打印字典的key
for v in dic.values():
    print(v) # 打印字典中的value
for k,v in dic.items():
    print(k = %s, v = %s %(k,v)) # 打印key 和 value

 其中 key() 方法,valuses()方法,以及 items() 方法,返回的数据类型可以当成一个list来使用,但是返回的类型如下:

print(type(dic.keys()))  # 
print(type(dic.values()))  # 
print(type(dic.items()))  # 

 


Python中的字典

标签:font   for   查找   增加   添加   定义   常用方法   不可   val   

原文地址:https://www.cnblogs.com/hongyu0518/p/9650263.html


评论


亲,登录后才可以留言!