Python 算法常用库函数
本文介绍一些常用的 py 库函数
内置函数
abs(x)
返回一个数字的绝对值。参数可以是整数、浮点数、复数等。如果参数是一个复数,则返回它的模。all(iterable)
如果 iterable 的所有元素均为真值(或可迭代对象为空)则返回 True 。
示例代码:1
2
3nums = [1, 2, 3, 4, 5]
# 检查是否所有元素都是偶数
print(all(x % 2 == 0 for x in nums)) # Falseany(iterable)
如果 iterable 的任一元素为真值则返回 True。 如果可迭代对象为空,返回 False。
例:1
2
3nums = [1, 2, 3, 4, 5]
# 检查列表中是否包含偶数
print(any(x % 2 == 0 for x in nums)) # Truebin(x)
将一个整数转换为带前缀 “0b” 的二进制数字符串。
例:1
2print(bin(5)) # 0b101
print(bin(-6)) # -0b110chr(i)
和ord(c)
这两个函数互为逆函数。chr(i)
返回 Unicode 码位为整数i
的字符的字符串格式。ord(c)
对表示单个 Unicode 字符的字符串,返回代表它 Unicode 码点的整数。1
2print(chr(97)) # 'a'
print(ord('a')) # 97divmod(a, b)
接受两个数字作为参数并返回由当对其使用整数除法时的商和余数组成的数字对。 结果与 (a // b, a % b) 相同。1
a, b = divmod(10, 3) # a = 3, b = 1
enumerate(iterable, start=0)
传入一个可迭代对象返回一个元组,里面包含一个计数值(从 start 开始,默认为 0)和通过迭代 iterable 获得的值。1
2
3nums = [100, 200, 300, 400, 500]
# [(1, 100), (2, 200), (3, 300), (4, 400), (5, 500)]
print(list(enumerate(nums, 1)))eval(expression)
用来执行一个字符串表达式,并返回表达式的值。1
2s = "1 + 2 * 3 + 8 // 4"
print(eval(s)) # 9int(x, base=10)
将一个字符串或数字转换为整数。如果第二个参数 base 给出,则 x 必须是一个字符串,表示进制数(如 2 表示二进制,8 表示八进制,10 表示十进制,16 表示十六进制)。1
2print(int('5')) # 5
print(int('1010', 2)) # 10max(iterable, *[, key, default])
和min(iterable, *[, key, default])
大家都知道这两个函数的作用,需要注意的是,如果传入的可迭代对象为空,会抛出 ValueError 异常。可以通过 default 参数设置默认返回值。1
2
3
4
5nums = [1, 2, 3, 4, 5]
print(max(nums)) # 5
nums2 = []
print(max(nums2)) # ValueError: max() arg is an empty sequence
print(max(nums2, default=0)) # 0
11.pow(base, exp, mod=None)
返回base的 exp 次幂;如果 mod 存在,则返回结果对 mod 取模。
1 |
|