高频内置函数速查
这页只保留“高频且值得记住”的内置函数。一个常见误区是把它们和字符串方法、列表方法、math 模块函数混在一起,所以先把边界讲清楚:
- 内置函数:直接写
len(x)、sorted(x)、sum(x) - 对象方法:写成
text.split()、items.append(x) - 标准库函数:写成
math.sqrt(x)、json.loads(text)
类型转换
int("12")
float("3.14")
str(123)
list((1, 2, 3))
tuple([1, 2, 3])
set([1, 2, 2, 3])
dict([("a", 1), ("b", 2)])
数值与统计
abs(-10)
round(3.14159, 2)
pow(2, 5)
sum([1, 2, 3])
max([1, 2, 3])
min([1, 2, 3])
divmod(10, 3)
迭代与聚合
len([1, 2, 3])
sorted([3, 1, 2])
reversed([1, 2, 3])
enumerate(["a", "b", "c"])
zip([1, 2], ["a", "b"])
any([False, False, True])
all([True, True, True])
映射与过滤
list(map(str, [1, 2, 3]))
list(filter(lambda x: x % 2 == 0, [1, 2, 3, 4]))
如果逻辑不复杂,我更常用推导式而不是 map() / filter()。
调试和表示
type("hello")
isinstance(3, int)
id("hello")
print("debug")
repr("hello")
容易混的几组函数
sorted() 和 list.sort()
numbers = [3, 1, 2]
new_numbers = sorted(numbers) # 返回新列表
numbers.sort() # 原地排序
sum() 和字符串拼接
sum() 适合数值,不适合字符串拼接。字符串拼接优先 join()。
map() 返回的不是列表
在 Python 3 里,map() 返回的是迭代器,通常需要再套一层 list(),或者直接解包使用。
我最常用的一小组
如果只挑一批最常回看的,我会选:
lensortedsummaxminenumeratezipanyallisinstance