如何使用alphanum.py?

0 投票
2 回答
586 浏览
提问于 2025-04-16 21:31

Alphanum算法Python实现)是一种用来“对包含字母和数字的字符串进行排序”的方法。它会把字符串中的数字按数值大小排序,而字母则按照ASCII码的顺序排序。最终的结果就是一种自然的排序方式。

我在Python 2.7中的尝试如下。

>>> import alphanum
>>> unsorted = ['NASEC-100', 'NASEC-200', 'NASEC-99', 'NASEC-101']
>>> sorted = unsorted[:]
>>> sorted.sort(alphanum)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'module' object is not callable

2 个回答

1

我还是个初学者,但我不记得Python的标准库里有一个叫alphanum的东西。

如果alphanum.py是你自己写的或者下载的,可以试试用 from alphanum.py import * 这个方式来导入。
我记得我之前也遇到过类似的问题,那个时候我用这种方式导入模块,问题就解决了,而不是单纯地用import。

0

感谢这个脚本的作者Chris Hulan提供的建议。这里是同样的情况,脚本正常工作:

>>> import alphanum
>>> unsorted = ['NASEC-100', 'NASEC-200', 'NASEC-99', 'NASEC-101']
>>> sorted = unsorted[:]
>>> sorted.sort(alphanum.alphanum)
>>> sorted
['NASEC-99', 'NASEC-100', 'NASEC-101', 'NASEC-200']

撰写回答