2016-04-18 17 views
0

のリストをソートするためにどのように私はこのリストをソートしたいと思います:Pythonは - 文字列

my_list = ["32,6,bob", "5,21,fred", "100,9,sid"]

を降順で各文字列の秒数で。このように:

["5,21,fred", "100,9,sid", "32,6,bob"]

私はリストのリストに変更し、このようにそれを並べ替えることができます知っている:

my_list = [["32", "6", "bob"], ["5", "21", "fred"], ["100", "9", "sid"]] 
my_list.sort(reverse=True, key=lambda x: x[1]) 

しかし、それは、それをリストにそれを変更して、文字列する必要が迷惑なんですその後(それはファイルに書き込まれる)ので、文字列としてソートする方法があるのだろうかと思っていました。

+0

あなたのコードは正しくありません。実際の数値ではなく、辞書的にソートしています –

+0

私にお知らせいただきありがとうございます。 –

答えて

5
In [1]: sorted(["32,6,bob", "5,21,fred", "100,9,sid"], 
    ...:  key=lambda s: int(s.split(',')[1]), 
    ...:  reverse=True) 
Out[1]: ['5,21,fred', '100,9,sid', '32,6,bob']