构造一个大于任何字符串的对象

在Python 3中,我有一个字符串列表,并且发现能够附加一个比列表中的所有元素都比较大的哨兵很有用。

有没有一种直接的方法来构造这样的对象?

我可以定义一个类,可以将str子类化,但是感觉应该有一种更简单的方法。

要想使此算法简化我的算法,我需要提前进行此操作,然后再知道列表中包含的字符串是什么(因此不能作为这些字符串的函数)

abiaoa 回答:构造一个大于任何字符串的对象

这是一个幼稚的答案,但是当您处理数字并且需要比较值以进行比较时,通常会使用特定数字类型可以容纳的最大(或最小)数字。

按字典顺序比较Python字符串,因此要创建“最大字符串”,您只需要创建一个长字符串“ max char”:

# 1114111 is the highest value that chr seems to accept
MAX_CHAR = chr(1114111)

# One million is entirely arbitary here.
# It should ideally be 1 + the length of the longest possible string that you'll compare against 
MAX_STRING = MAX_CHAR * int(1e6)

除非我不知道有奇怪的特殊情况,否则MAX_STRING现在应该被认为大于任何其他字符串(除了其自身);只要足够长。

本文链接:https://www.f2er.com/3140365.html

大家都在问