您好我正在Python中使用sorted()函数来订购一个bi-dimensionnal数组(我想按照它可以在经典电子表格中完成的那样对列进行排序)。在Python中排序和空字符串
在下面的示例中,我使用itemgetter(0)根据第一列的内容对网格进行排序。
但排序后返回非空的字符串之前的空字符串。
>>> import operator
>>> res = [['charly','male','london'],
... ['bob','male','paris'],
... ['alice','female','rome'],
... ['','unknown','somewhere']]
>>> sorted(res,key=operator.itemgetter(0))
[['', 'unknown', 'somewhere'], ['alice', 'female', 'rome'], ['bob', 'male', 'paris'], ['charly', 'male', 'london']]
>>>
,而我需要它返回此:
[['alice', 'female', 'rome'], ['bob', 'male', 'paris'], ['charly', 'male', 'london'], ['', 'unknown', 'somewhere']]
有一个简单的方法来做到这一点?
我正准备写这个答案,这是最优雅的方式。元组来“推广”你的关键字母表,而不用修改任何你不想要的东西。 – ninjagecko 2012-02-21 23:06:19
作品非常好,非常感谢! – florian 2012-02-22 09:27:10