我发现在使用^{
In [31]: import natsort as ns
In [32]: ns.natsorted(["01-08", "02-07", "01-06", "02-09"])
Out[32]: ['01-08', '01-06', '02-09', '02-07']
在这种情况下,我想要的行为是:
In [33]: sorted(["01-08", "02-07", "01-06", "02-09"])
Out[33]: ['01-06', '01-08', '02-07', '02-09']
试试这个:
问题是你的字符串解释不正确。这将手动设置算法以查找无符号整数。否则,它将搜索带符号的int,而“-”会导致问题(例如,如果将“-08”解释为-8,则排序是有意义的)。你知道吗
这实际上相当于versorted,这只是这个算法的一个快捷方式,但我认为最好是显式地写下您正在做的事情,特别是因为versorted可能会更改为更适用于将来的版本。你知道吗
相关问题 更多 >
编程相关推荐