我已经阅读了这篇文章,并没有结束为我工作.
编辑:我所描述的功能就像Excel中的排序功能一样......如果能让它更清晰
这是我的情况,我有一个制表符分隔的文本文档.每行大约有125,000行和6列(列由制表符分隔).我已将文档拆分为二维列表.
我正在尝试编写一个通用函数来对二维列表进行排序.基本上我想有一个函数,我可以传递大的列表,以及一个或多个列的键,我想排序大列表.显然,我希望第一个键被传递为主要的排序点,然后是第二个键,等等.
仍然困惑?
这是我想做的一个例子.
Joel 18 Orange 1
Anna 17 Blue 2
Ryan 18 Green 3
Luke 16 Blue 1
Katy 13 Pink 5
Tyler 22 Blue 6
Bob 22 Blue 10
Garrett 24 Red 7
Ryan 18 Green 8
Leland 18 Yellow 9
Run Code Online (Sandbox Code Playgroud)
说我把这个列表传递给了我的魔法函数,就像这样:
sortByColumn(bigList, 0)
Anna 17 Blue 2
Bob 22 Blue 10
Garrett 24 Red 7
Joel 18 Orange 1
Katy 13 Pink 5
Leland 18 Yellow 9
Luke 16 Blue 1
Ryan 18 Green 3
Ryan 18 Green 8
Tyler 22 Blue 6
Run Code Online (Sandbox Code Playgroud)
和...
sortByColumn(bigList, 2, 3)
Luke 16 Blue 1
Anna 17 Blue 2
Tyler 22 Blue 6
Bob 22 Blue 10
Ryan 18 Green 3
Ryan 18 Green 8
Joel 18 Orange 1
Katy 13 Pink 5
Garrett 24 Red 7
Leland 18 Yellow 9
Run Code Online (Sandbox Code Playgroud)
有线索吗?
Ten*_*she 11
import operator:
def sortByColumn(bigList, *args)
bigList.sort(key=operator.itemgetter(*args)) # sorts the list in place
Run Code Online (Sandbox Code Playgroud)