0

次のリストがあり、名前と番号の大きいものから小さいものの順に並べる必要があります。

['joe:  5', 'ed:  9', 'joe:  7', 'ed:  8']

次の問題が発生しています。

  1. 数値を文字列から整数に変換して順序付けします。
  2. 正しい文字列でそれらを注文します。

したがって、私の最終結果は次のようになります。

['ed:  9', 'ed:  8', 'joe:  7', 'joe:  5']
4

1 に答える 1

5
>>> lis=['joe:  5', 'ed:  9', 'joe:  7', 'ed:  8']

>>> sorted(lis,key=lambda x:int(x.split()[-1]),reverse=True)
>>> ['ed:  9', 'ed:  8', 'joe:  7', 'joe:  5']

str.split(以下に示すように)を使用して各リスト項目の整数をフェッチでき、その整数を使用してリストを並べ替えます。

>>> int(lis[0].split(":")[1])
>>> 5

#or  

>>> int(lis[0].split()[1]) 
>>> 5
于 2013-01-15T20:04:15.073 に答える