python数字&集合
数值类型
-
不同进制数字面量
a = 0b111 # 二进制 b = 0o234 # 八进制 c = 0xabc # 十六进制 -
进制转化函数
# 把一个整数转换成三种进制表示的字符串 hex(I) oct(I) bin(I) # 根据给定的进制把一个字符串转化为整数 int(str, base) -
常用内置数学工具
import math # 向下取整 math.floor(2.567) == 2 math.floor(-2.567) == -3 # 向零取整 math.trunc(2.567) == 2 math.trunc(-2.567) == -2 # 舍弃小数部分 int(2.567) == 2 int(-2.567) == -2 # 四舍五入 round(2.567) == 3 round(2.456) == 2 round(2.456, 2) = 2.46 #保留两位小数 -
random模块
import random # 从一个序列中随机选取一项 random.choice([1, 2, 3, 4]) # 打乱列表顺序 random.shuffle(L)
集合
不可变对象的无序集合
-
创建集合
# 将一个序列或者可迭代对象传入set函数 x = set("abcd") y = set([1, 2, 3, 3]) k = {1, 2, 3} m = {} # 这不是一个空集合,而是与一个空字典 z = set() # 创建空集合 -
集合运算
# | & ^ < 只能表示集合运算时,两个操作数必须都是集合 x = {1, 2, 3, 4} y = {1, 2} z = {3, 4, 5} x - y == {3, 4} x - z == {1, 2} x | z == {1, 2, 3, 4, 5} #或 x & y == {1, 2} #与 x ^ z == {1, 2, 5} # 异或 y < x == True # 子集 # 对原集合修改 x.add(90) # 为集合x增加一个元素 x.remove(90) # 把集合x中的90删除 x.update(z) # 等价 x = x | y # 以下方法,参数y不必是一个集合,但必须是一个可以通过set()函数变成集合的可迭代对象 # y可以是列表,元组,字符串 等可迭代对象 x.union(y) # 并 x.intersection(y) # 交 x.issubset(y) # 是否时子集 -
不可变性
集合只能包含不可变的对象类型。因此列表,字典,集合不能放入集合中。元组是不可变的,可以放入集合。如果需要在一个集合中存储一个集合,可以调用内置函数frozenset()。功能类似set()函数。
-
借助集合可以进行顺序无关的等价性测试

浙公网安备 33010602011771号