2016-08-18 9 views
-3

内の文字列の複雑なリストをソートするので、ここにある:は、私は私の問題を説明する方が良いだろうと感じパイソン

私はこのリストを持っている:

['1.2.3', '1.2.4', '10.3', '1.3', '12', '14.12.123', '4', '6'] 

、それはそうのように並べ替えたいと思います:

['1.2.3', '1.2.4', '1.3', '4', '6', '10.3', '12', '14.12.123'] 

ご覧のとおり、最初は最初の桁で、次に2番目の桁でソートしたいと思います。また、リスト項目に数字が無限にある可能性があります('1.2.3.4.5.6'など)

通常のソート方法では役に立たないと試してみましたが、インターネットで同様の状況を見つけられません。

ありがとうございました。

+0

は、あなたが何をしようとしたことがありますか? 'sorted'の' key'パラメータをすべて見たことがありますか? –

答えて

2

これはそれを行う必要があります。

sorted(l, key=lambda k: [int(num) for num in k.split('.')])

+2

@NehalJWani:nope。 –

+0

なぜですか?それ以上のアイデアはありますか? –

関連する問題