我在OSX上以及Linux上使用Python 2.5.1和2.6.5中的unicode排序对排序列表有问题.
import locale
locale.setlocale(locale.LC_ALL, 'pl_PL.UTF-8')
print [i for i in sorted([u'a', u'z', u'?'], cmp=locale.strcoll)]
Run Code Online (Sandbox Code Playgroud)
哪个应该打印:
[u'a', u'?', u'z']
Run Code Online (Sandbox Code Playgroud)
而是打印出来:
[u'a', u'z', u'?']
Run Code Online (Sandbox Code Playgroud)
总结一下 - 看起来好像strcoll坏了.尝试使用各种类型的变量(fe.非unicode编码的字符串).
我做错了什么?
此致,Tomasz Kopczuk.
我有一个包含超过1000万行的文本文件.这样的行:
37024469;196672001;255.0000000000
37024469;196665001;396.0000000000
37024469;196664001;396.0000000000
37024469;196399002;85.0000000000
37024469;160507001;264.0000000000
37024469;160506001;264.0000000000
Run Code Online (Sandbox Code Playgroud)
如你所见,分隔符是";".我想根据第二个元素使用python对这个文本文件进行排序.我不能使用拆分功能.因为它会导致MemoryError.我该怎么办呢?