3

混合性質のフィールドを持つリスト内のタプルをソートしようとしています: LABEL.NUMBER. 例えば:

 aaaa.143
 aadf.23
 aaaa.8
 ..

したがって、最初に文字列として LABEL で並べ替え、同時に数値として NUMBER で並べ替えたいと思います。つまり、並べ替え後に次のようになります。

 aaaa.8
 aaaa.143
 aadf.23
 ..

私は今、次のものを持っています:

for i in sorted(v_distribution.items(), key=lambda x: x[0]): 

フィールド全体を文字列として使用してソートすると、次のようになります。

 aaaa.143
 aaaa.8
 aadf.23
 ..

ラムダ関数を変更してタスクを実行するにはどうすればよいですか?

4

2 に答える 2

1

次のようにラムダでこれを行うことができます。

for i in sorted(v_distribution.items(), key=lambda x: (x.split('.', 1)[0], int(x.split('.', 1)[1]):
于 2013-09-11T11:42:09.307 に答える