web-dev-qa-db-ja.com

2番目のパラメーターに基づいてタプルを並べ替える

次のようなタプルのリストがあります。

("Person 1",10)
("Person 2",8)
("Person 3",12)
("Person 4",20)

作成したいのは、Tupleの2番目の値で昇順でソートされたリストです。したがって、ソート後にL [0]は("Person 2", 8)になります。

これどうやってするの? Pythonの使用3.2.2それが役立つ場合。

83
user974703

keyパラメーターをlist.sort()に使用できます。

my_list.sort(key=lambda x: x[1])

または、わずかに速く、

my_list.sort(key=operator.itemgetter(1))

(他のモジュールと同様に、使用するにはimport operatorが必要です。)

165
Sven Marnach

python 3.Xを使用している場合、mylist。sorted関数を適用できます。これは、@ Sven Marnachが持っている答えへの単なる追加です上に与えられた。

# using *sort method*
mylist.sort(lambda x: x[1]) 

# using *sorted function*
sorted(mylist, key = lambda x: x[1]) 
4
Samuel Nde