logo

Python的11 个编程小技巧,使用起来更省心

作者:三里河2021.10.08 11:35浏览量:132

简介:小技巧分享

首发:公众号「Python七号」
作者:somenzz

正在学 Python 的你并不孤单,有我在这里陪着你每天学习一个 Python 小技术,你可以加我微信「somenzz」相互交流。今天我为初学者整理了 11 个编程小技巧,使用起来非常省心,相信你看完定会有所收获。

1、合并(Merge)两个字典

有两个字典,dict1、dict2,想把 dict2 的内容合并(Merge)到 dict1 中,可以使用 dict1.update(dict2)
1633663245046.jpg

2、合并(Merge)两个字典,但不能改变原始字典

有两个字典,dict1、dict2,现在要把 dict1、dict2 的内容合并(Merge)到 dict3 中,有两种方法:

方法一
1633663272688.jpg

方法二

1633663298246.jpg

方法二使用了 ** 来解包字典,非常简洁和优雅,推荐使用。

3、对包含字典的列表进行排序

假如有这样的列表:

[{“name”: “张三”, “age”: 30 },{“name”: “李四”, “age”: 10 },{“name”: “王武”, “age”: 15 }]

其内部元素是一个字典,如何进行自定义排序呢?比如按照 age 进行排序:
1633663323219.jpg

如果不能改变 list1 原有的次序,可以使用内建函数 sorted,sorted 返回排序后的结果,并不改变原始顺序:

1633663511624.jpg

4、检查文件是否存在

方法一,使用 os.path 模块
1633663621731.jpg

方法二、使用 pathlib(推荐使用)
1633663637064.jpg

关于 pathlib 为什么比 os.path 好用,可以阅读求求你,别用 os.path 了。

5、获取某个目录最新的文件或目录

1633663653868.jpg

更推荐你使用 pathlib
1633663669519.jpg

6、随机密码生成器

将以下内容保存为 generate_random_password.py:
1633663691665.jpg

执行结果
1633663706253.jpg

7、将两个列表转换为一个字典

1633663720779.jpg

8、测量小代码片段的执行时间

1633663734720.jpg

timeit 是标准库提供的计时工具,还可以在命令行这样使用:

示例 1:命令行界面来比较三个不同的表达式
1633663751486.jpg

示例 2:通过代码中比较三个不同的表达式。
1633663764228.jpg

timeit 内部还可以传入一个可调用对象:
1633663858834.jpg

9、统计列表中频率最高的元素

1633664049089.jpg

10、如何避免冗长的 if else 分支

简单来说,就是借助于字典,把策略写在字典里面,比如设计一个函数,计算两个数的加、减、乘、除、n 次方
1633664072374.jpg

借助于字典,可以不需要使用 if else:
1633664086669.jpg

这也是设计模式中的策略模式的最小示例。

11、让列表内的元素随机排列一下

1633664105730.jpg

相关文章推荐

发表评论