[Python]-字典-实践经验总结

字典是Python中常用的一个数据类型。
与列表有相似的用法,表现在列表的下标和字典的键值可以通过相似的方式读取数据:

list_name[0] = value
dict_name['key'] = value

初始化一个空字典

from collections import defaultdict

dict_name = defaultdict(float)

这种方法会赋一个空值:

参数值 空值
float 0.0
int 0
str ''

或者直接声明一个空字典:

dict_name = {}

向字典dict中添加不存在的键值key

dict_name = {}
dict_name[key] = value

获取字典的长度

len(dict_name.keys())

读取字典dict中不存在的键值

dict_name.get(key, defalut)

如果dict()中有键值key,会返回dict[key]的值;
如果dict()中没有键值key,就会返回defalut

删除字典中的键值对

dict_name.pop(key)

参考:
https://blog.csdn.net/wqwqwqwq403/article/details/79361346/

遍历字典

# 1 获得键值key和值value = a[key]
for key in a:
# 2 获得键值key和值value = a[key]
for key in a.keys():
# 1和2效果相同

# 3 仅获得value
for value in a.values():

# 4 获得的kv是元组:(key,value)
for kv in a.items():

# 5 获得键值key和值value
for key,value in a.items():
# 6 获得键值key和值value
for (key,value) in a.items():
# 5和6效果相同

参考:
https://www.cnblogs.com/stuqx/p/7291948.html

给字典排序

有两种方法

# 法一
dict_order = sorted(dict_name.iteritems(),key=lambda x:x[0],reverse=False)
# 法二 略快
from operator import itemgetter
dict_order = sorted(dict_name.items(), key=itemgetter(0), reverse=True)
# 以上两种方法里的数字,0代表按照键排序,1代表按照键值排序

# 排序后字典会变为元组,可以转回字典
dict_order = dict(dict_order)

注意:python3.5之后可能出现iteritems()的报错,改成items()即可。

采用iteritems(),是因为这样做排序后字典不会变成元组

  • iteritems()以迭代器对象返回字典键值对
  • items以列表形式返回字典键值对

https://www.cnblogs.com/williamjie/p/9182619.html
https://blog.csdn.net/studyzwb/article/details/98596226

参考:

https://blog.csdn.net/mingyuli/article/details/104443362?utm_medium=distribute.pc_relevant.none-task-blog-2
在使用中遇到其他新问题将继续更新。

posted @ 2021-12-20 22:00  CAMILIA  阅读(143)  评论(0)    收藏  举报