我写的 Python 代码,同事都说好
原文链接: 我写的 Python 代码,同事都说好
人生苦短,我用 Python。
程序员的追求就是不写代码,早日财务自由。不对,一不小心把实话说出来了,应该是将代码写得简洁,优雅。
Python 程序员的追求则是 Pythonic,正好在 Python 这门语言中,「隐藏」了特别多方法,可以使代码变得简洁,优雅,与众不同。
我在这里总结了一些常用操作,特别是关于列表和字典,分享给大家。
第一个字母大写
这个方法有点意思,无意中发现的。
列表合并
第一种方式:使用 +
。
第二种方式:使用 extend
关键字。
后两种方式明显更加优雅,推荐使用。需要说明的一点是,如果列表很大的话,+
会比较慢,使用 extend
更好。
列表元素去重
使用 set()
对列表元素进行去重。
列表排序
使用 sort()
或内建函数 sorted()
对列表进行排序。它们之间的区别有两点:
sort()
方法是对原列表进行操作,而sorted()
方法会返回一个新列表,不是在原来的基础上进行操作。sort()
是应用在列表上的方法,而sorted()
可以对所有可迭代的对象进行排序操作。
遍历列表的索引和元素对
使用 enumerate()
函数可以同时输出索引和元素值。
查找列表中出现最频繁的元素
使用 max()
函数可以快速查找出一个列表中出现频率最高的某个元素。
需要说明的一点是,当列表中有两个元素出现的次数相同时,会返回第一个出现的元素。
统计列表中所有元素的出现次数
前面的代码给出了出现最频繁的值。如果想要知道列表中所有元素的出现次数,那么可以使用 collections 模块。
collections 是 Python 中的一个宝藏模块,它提供了很多特性。Counter
方法正好可以完美解决这个需求。
将两个列表合并为字典
使用 zip()
函数,可以将两个列表合并成字典。
求两个列表的交集,并集和差集
字典创建
字典合并
判断 key 是否存在
在 Python2 中判断某个 key 是否存在,可以使用 has_key
,但这个方法在 Python3 中已经被移除了。
另一种方法是使用 in
关键字,不仅兼容 Python2 和 Python3,速度还更快,强烈推荐。
获取字典中的值
字典遍历
字典推导式
列表推导式和字典推导式是我相当喜欢的功能,简洁高效。map
和 filter
我都已经快不会用了。
字典按 key 或 value 排序
还有一个需求是我在开发过程经常碰到的,就是有一个列表,列表的元素是字典,然后按字典的 value 对列表进行排序。
以上就是本文的全部内容,如果觉得还不错的话,欢迎点赞,转发和关注,感谢支持。
推荐阅读:
版权声明: 本文为 InfoQ 作者【AlwaysBeta】的原创文章。
原文链接:【http://xie.infoq.cn/article/f48c3c0dd1760d4b356264e3e】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论