Python精选技巧:131-135
好的,以下是一些实用的 Python 技巧,帮助你提高编码效率:
技巧 131:使用 enumerate
进行索引迭代
在循环遍历列表等可迭代对象时,enumerate
可以同时获取元素和索引。
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(f"Index {index}: {fruit}")
这样可以避免手动管理索引和元素的映射。
技巧 132:合并多个字典
Python 3.9 引入了合并字典的简洁语法。
dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}
merged = dict1 | dict2
print(merged) # 输出: {'a': 1, 'b': 3, 'c': 4}
在之前的版本中,可以使用 update()
方法或 **
解包。
技巧 133:列表推导式中的条件过滤
在列表推导式中可以直接添加条件进行过滤。
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = [num for num in numbers if num % 2 == 0]
print(even_numbers) # 输出: [2, 4, 6]
这比常规的循环和条件语句要简洁得多。
技巧 134:使用 zip
解压列表
zip
函数不仅可以组合多个迭代器,还可以用来解压。
pairs = [('a', 1), ('b', 2), ('c', 3)]
letters, numbers = zip(*pairs)
print(letters) # 输出: ('a', 'b', 'c')
print(numbers) # 输出: (1, 2, 3)
这对处理成对数据非常有用。
技巧 135:使用 collections.Counter
进行频率统计
Counter
是一个方便的类,可以用于统计可迭代对象中元素的频率。
from collections import Counter
words = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple']
count = Counter(words)
print(count) # 输出: Counter({'apple': 3, 'banana': 2, 'orange': 1})
相比自己构造字典来计数,使用 Counter
更加简洁和清晰。
希望这些技巧对你有所帮助!如果有其他需要请告诉我。