Python中按字典顺序最小的字符串是什么?换句话说,什么是字符串x
,以使x < y
始终为True
(其中y
是字符串)?
例如,在C ++中,空字符串是最小的字符串(请参见Smallest lexicographical value of a string)。谁能确认同样的答案适用于Python?
这是我到目前为止尝试过的:
import string
for x in list(string.printable):
assert("" < x)
答案 0 :(得分:2)
使用x
作为空字符串,任何字符串x < y
的{{1}}在Python中都保存着y
。
我们可以确认这一点:
True
如果iterable的所有元素均为true(或者iterable为空),则 all()
返回>>> all('' < x for x in string.printable)
True
。空字符串与所有可打印的字符串的小于(True
)操作就是<
。
对于不可打印的字符也是如此。 总范围从0到1,1141,111(以16为底的0x10FFFF)变化(感谢@AlexHall的评论)。
True
答案 1 :(得分:1)
""
是您可以获得的最小字符串,因为其长度为0(这也是str()
返回的字符串)
但是,我没有在文档中找到任何内容来明确确认...
https://docs.python.org/3.7/library/stdtypes.html#comparisons
https://docs.python.org/3.7/reference/datamodel.html#object.__lt__