相关疑难解决方法(0)

Python是否具有用于字符串自然排序的内置函数?

使用Python 3.x,我有一个字符串列表,我想对其执行自然的字母排序.

自然排序: Windows中文件的排序顺序.

例如,以下列表是自然排序的(我想要的):

['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13']
Run Code Online (Sandbox Code Playgroud)

这是上面列表的"排序"版本(我有):

['Elm11', 'Elm12', 'Elm2', 'elm0', 'elm1', 'elm10', 'elm13', 'elm9']
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个行为与第一个类似的排序函数.

python sorting python-3.x

249
推荐指数
9
解决办法
8万
查看次数

Python 2如何比较字符串和int?为什么列表比较大于数字,而元组大于列表?

以下代码段使用输出进行注释(如ideone.com上所示):

print "100" < "2"      # True
print "5" > "9"        # False

print "100" < 2        # False
print 100 < "2"        # True

print 5 > "9"          # False
print "5" > 9          # True

print [] > float('inf') # True
print () > []          # True
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么输出是这样的?


实施细节

  • 这种行为是由语言规范强制执行的,还是由实现者决定的?
  • 任何主要的Python实现之间是否存在差异?
  • Python语言版本之间是否存在差异?

python comparison types python-2.x

172
推荐指数
2
解决办法
8万
查看次数

标签 统计

python ×2

comparison ×1

python-2.x ×1

python-3.x ×1

sorting ×1

types ×1