python中如何生成一个无限大的整型数据

最近在用python写图数据结构相关算法的时候遇到一个问题:使用邻接矩阵结构来存储图的边集合,其中如果两个顶点之间不存在边,那么这个坐标系的权值就用一个无限大的整数来代替。

那么在python中如何声明一个变量为无限大的整型数据呢?

如果是Python 3.5以上的版本,使用:

import math
inf = math.inf

如果是3.5之前的版本可以使用:

inf = float('inf')

这样子赋值之后,inf变量就是一个无限大的整型数据,大于任何一个标准的整型数据,除非被比较的数据:

  • 也是一个math.inf常量
  • 或者是一个非整型的数据(此时会抛TypeError异常)
print(inf > 1)  # True
print(inf > 10000000000) # True
print(inf > math.inf)  # False
print(inf > '3')  # TypeError: '>' not supported between instances of 'float' and 'str'

以上math.inf是等价于float('inf')的,如果需要生成一个负无穷大的整型,只需要使用-math.inf即可。

完!

参考资料:
python-doc math.inf
How can I represent an infinite number in Python?

你可能感兴趣的:(python中如何生成一个无限大的整型数据)