让你的 Python 代码更加优雅

优质教育领域创作者10个小技巧改进的 Python 代码,让你的代码更加简洁、更加 Python 化。
1. 用enumerate代替range如果你需要遍历一个列表,并且需要同时获取索引和元素,大多数情况可能会使用 range(len(data)) 的语法。比如我们要遍历一个列表,找到所有的负数:
data = [1, 3, -5, 7, 9, -11]
for i in range(len(data)):
if data[i] < 0:
print(f”索引:{ i},元素:{ data[i]}”)
输出:索引:2,元素:-5索引:5,元素:-11
虽然这种方法有效,但如果使用 Python 内置的 enumerate 函数会更好,这个函数会返回遍历过程中当前索引和当前元素值作为一个元组,因此可以直接输出索引和值:
data = [1, 3, -5, 7, 9, -11]
for i, v, in enumerate(data):
if v < 0:
print(f”索引:{ i},元素:{ v}”)
输出:索引:2,元素:-5索引:5,元素:-11
2. 深入理解list,替代for循环,假如我们要创建一个从0~9的平方数的列表,一种简单的方法是先创建一个 list ,然后通过 for 循环每次将一个数的平方 append 到列表的结尾。
squares = []
for i in range(10):
squares.append(i ** 2)
print(squares)
输出:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
但其实通过列表生成式,我们有一种更快捷的方法,只需要一行代码就能够实现相同的功能。
squares = [i ** 2 for i in range(10)]
print(squares)
输出:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
3. 通过 Python 内置的sorted()方法对复杂的对象进行排序排序的需求在很多场景中都很常见,Python中的可迭代对