字典是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

在使用中遇到其他新问题将继续更新。

[Python]-字典-实践经验总结的更多相关文章

  1. python字典中的元素类型

    python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...

  2. python 最佳实践与资源汇总

    python 最佳实践 (部分) 一. 结构化工程 文件 功能 README.rst readme LICENSE 许可证 setup.py 打包和发布管理 requirements.txt 开发依赖 ...

  3. Python入门经典. 以解决计算问题为导向的Python编程实践

    Python入门经典. 以解决计算问题为导向的Python编程实践(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1juLsew8UiOErRheQPOuTaw 提取 ...

  4. Python 最佳实践指南 2018 学习笔记

    基础信息 版本 Python 2.7 Python 3.x Python2.7 版本在 2020 年后不再提供支持,建议新手使用 3.x 版本进行学习 实现 CPython:Python的标准实现: ...

  5. selenium通过python字典获取配置

    python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...

  6. CI Weekly #6 | 再谈 Docker / CI / CD 实践经验

    CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...

  7. Python字典和集合

    Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...

  8. python 字典排序 关于sort()、reversed()、sorted()

    一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...

  9. python字典copy()方法

    python 字典的copy()方法表面看就是深copy啊,明显独立 d = {'a':1, 'b':2} c = d.copy() print('d=%s c=%s' % (d, c)) Code1 ...

随机推荐

  1. NC200211 装备合成

    NC200211 装备合成 题目 题目描述 牛牛有 \({x}\) 件材料 \({a}\) 和 \({y}\) 件材料 \({b}\) ,用 \({2}\) 件材料 \({a}\) 和 \({3}\) ...

  2. 《AlignedReID:Surpassing Human-Level Performance in Person Re-Identification》理解

  3. Jira7.3.8环境搭建

    安装JDK sudo apt-get install openjdk-8-jdk 安装&配置MySQL sudo apt-get install mysql-server 创建jira用户 # ...

  4. JsonPath:针对json的强大的规则解析与参数查找工具

    项目特点 GitHub项目地址:https://github.com/json-path/JsonPath 主要功能: 将Json字符串转为Java Map对象(这个不算什么,FastJson之类的工 ...

  5. springboot java -jar指定启动的jar外部配置文件

    Limited Setting Effect 中文描述 Java 8 -Xbootclasspath:<path> Sets the search path for bootstrap c ...

  6. Grid属性太多记不住?【Grid栅格布局可视化编辑器】直观易懂高效,拖拉拽,有手就行!

    手把手教你通过拖拉拽可视化的方式带你练习[Grid栅格布局]的各个属性,直观易懂!再也不愁记不住繁多的Grid属性了.整个过程在众触应用平台进行,不用手写一行CSS代码. grid-auto-flow ...

  7. day04 Java_分支_循环

    精华笔记: Scanner接收用户输入的数据:共3步,不需要理解,先背下来 分支结构: if...else if结构:多条路 switch...case结构:多条路 优点:效率高.结构清晰 缺点:只能 ...

  8. identity server4 授权成功页面跳转时遇到错误:Exception: Correlation failed. Unknown location的解决方法

    一.异常信息描述 错误信息,看到这个页面是否耳熟能详担又不知道怎么解决 ,坑死个人不偿命,,,,,,,, 二.处理方法 1.在web项目中增加类SameSiteCookiesServiceCollec ...

  9. 6.4.2 用BFS求最短路

    前面的篇幅占了太多,再次新开一章,讲述BFS求最短路的问题 注意此时DFS就没有BFS好用了,因为DFS更适合求全部解,而BFS适合求最优解 这边再次提醒拓扑变换的思想在图形辨认中的重要作用,需要找寻 ...

  10. C++ 弹幕游戏

    可能会持续更新吧,, 我们说一下固定弹,直线轨迹的做法 . 首先放一个 Kaguya 的波粒: 境符「波与粒的境界」 since C++98,系统要求 Windows . #include <c ...