簡體   English   中英

構造一個大於任何字符串的 object

[英]Constructing an object that's greater than any string

在 Python 3 中,我有一個字符串列表,並且發現能夠將 append 設置為一個比列表中所有元素都比較大的哨兵很有用。

有沒有一種簡單的方法來構建這樣一個 object?

我可以定義一個 class,可能是str的子類,但感覺應該有更簡單的方法。

為了便於簡化我的算法,我需要提前執行此操作,然后才能知道列表中包含的字符串將是什么(因此它不能是這些字符串的 function)。

這是一個幼稚的答案,但是當您處理數字並且需要一個標記值進行比較時,使用特定數字類型可以容納的最大(或最小)數字並不少見。

Python 字符串按字典順序進行比較,因此要創建“最大字符串”,您只需創建一個“最大字符”的長字符串:

# 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大於任何其他字符串(除了它本身); 只要它足夠長。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM