如何使用Python中的字典解析
2020-06-03
作者:Jonathan Hsu
翻译:老齐
与本文相关图书推荐:《Python大学实用教程》
本书适合初学者学习使用,书中除了全面介绍了Python语言的有关知识,还包括有大量练习。本书强调学习过程中的工程实践,通过练习引导学习者更多地接触实际开发中使用的工具。
列表解析,是Python中常用的操作,它语法简单,循环速度足够快。但是,你了解字典解析吗?它跟列表解析一样吗?
字典解析,不同于列表解析。
基本语法
让我们通过两个示例,了解一下字典解析的基本语法。
在第一个示例中,创建一个字典,其值为1-10的整数。
1 | my_nums = { |
下面,创建类似的字典,但是,增加一个条件,只选择奇数作为字典的值。
1 | my_nums = { |
或许看了上面两个示例,还没有什么感觉,但它们的确是演示字典解析语法规则的好例子。
字典解析与列表解析最大的不同在于,字典解析中药有两个值——一个是键,另外一个是值。因此,字典解析,需要你多思考一下,这或许就是它使用频率不高的原因吧。
下面让我们看看真实开发中遇到的情况。
实战中的字典解析
下面的两个示例,是我常用到的。
- 移除缺失值
我喜欢在移除缺失值的时候使用字典解析,最典型的就是移除None
。这里需要使用筛选条件,通常这么做:
1 | data = { |
上面使用了字典的.items()
方法,它以元组的形式返回字典的键值对。
- 替代
map
函数
我比较喜欢map
函数,但是,字典解析也能够实现同样的功能,并且它没有那么复杂的语法,比如使用Lambda函数之类的。
1 | data = { |
结论
怎么样?是不是喜欢字典解析了?希望本文能够为你的技能库增加一个工具。
原文链接:https://medium.com/better-programming/how-to-use-python-dictionary-comprehensions-af5cc5c75bba
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏
关注微信公众号,读文章、听课程,提升技能