【发布时间】:2011-05-31 21:04:53
【问题描述】:
我相信我并没有做任何过于复杂的事情。我正在对一个大型 csv 数据文件进行预排序,因为它充满了以随机时间顺序到达的数据。索引正确,但返回格式已关闭。
sortedList=sorted(reader,key=operator.itemgetter(1))
所以不要像 [-100 -10 -1 0 10 100 5000 6000];我得到 [-1 -10 -100 0 100 5000 60]
我尝试了 lambda 函数示例和 itemgetter,但我真的不知道从那里去哪里。
感谢您的帮助。
我的问题的答案在 cmets 中。数值被排序为字符串而不是数字。我不知道我可以在 sorted() 中指定键的数据类型。此代码按我的预期工作:
sortedList=sorted(reader,key=lambda x:float(x[1]))
【问题讨论】:
-
如果您在阅读器中发布数据示例会有所帮助。
-
阅读器字符串中的内容吗?然后你会得到基于字符串的排序来解释结果。如果是整数,则返回正确的列表