1

私は3つのリストを持っています:

>>> a = ["12", "a"]
>>> b = ["123", "b"]
>>> c = ["4", "c"]

私はそれらを新しいリストに入れました:

>>> d = [a,b,c]

各内部リストの最初の項目に従ってそれらをソートすると、次のようになります。

>>> sorted(d, key=itemgetter(0))
[['12', 'a'], ['123', 'b'], ['4', 'c']]

でも私はしたい:

[['4', 'c'], ['12', 'a'], ['123', 'b']]

また、最初の項目の先行ゼロが含まれる場合があります。

>>> a = ["012", "a"]
>>> b = ["0123", "b"]
>>> c = ["04", "c"]

繰り返しますが、私はこのようにソートされたリストを見たいと思います:

[['04', 'c'], ['012', 'a'], ['0123', 'b']]

これどうやってするの?

4

1 に答える 1

6

int()キーゲッターで使用するだけです:

In [5]: sorted(d, key=lambda x:int(x[0]))
Out[5]: [['4', 'c'], ['12', 'a'], ['123', 'b']]

2 番目の例では:

In [10]: sorted(d, key=lambda x:int(x[0]))
Out[10]: [['04', 'c'], ['012', 'a'], ['0123', 'b']]
于 2013-01-19T12:24:52.453 に答える