在刷LeetCode题目时,Python提供了一些非常实用的内建函数和语法特性,理解和掌握这些API不仅可以帮助我们提高解题效率,而且有助于我们编写出更加优雅、易读的代码。在本文中,我们将介绍一些在解决LeetCode问题时常用的Python API。
1. 列表/迭代器操作
Python提供了一系列用于处理列表和其他迭代器的函数,例如map()
, filter()
, reduce()
等。
# 函数 map(fun, iter) 将函数fun应用于iter的每个元素 result = map(lambda x: x * x, [1, 2, 3, 4, 5]) print(list(result)) # 输出: [1, 4, 9, 16, 25] # 函数 filter(fun, iter) 用于过滤iter的元素 result = filter(lambda x: x % 2 == 0, [1, 2, 3, 4, 5]) print(list(result)) # 输出: [2, 4]
2. Ternary Operator(三元操作符)
Python的三元操作符可以用来在一行内实现简单的if-else
逻辑,语法结构为value_if_true if condition else value_if_false
。
# Ternary Operator示例 x = 10 y = 20 max_value = y if x < y else x # 如果x小于y,max_value取y的值,否则取x的值 print(max_value) # 输出: 20
3. 使用Enumerate
Python内建的enumerate()
函数可以在遍历列表(或其他迭代器)时同时获取元素和其坐标
# Enumerate示例 for i, value in enumerate(['a', 'b', 'c']): print(f"index: {i}, value: {value}") # 输出: # index: 0, value: a # index: 1, value: b # index: 2, value: c
4. 使用Default Dictionary
collections.defaultdict
是Python的一种特殊字典,当访问不存在的键时,它可以返回一个默认值。
# defaultdict示例 from collections import defaultdict d = defaultdict(int) d['key1'] += 1 print(d['key1']) # 输出: 1 print(d['key2']) # 输出: 0 ,尽管'key2'在字典中不存在,但defaultdict会返回默认值0
在刷LeetCode时,以上这些Python内建函数和语法特性都可能在某些问题中派上用场。试着熟悉并运用这些工具,可以帮助我们提高解题效率和代码可读性。