MWEによって列挙リスト:ソート値
list1 = [2,5,46,23,9,78]
list1 = list(enumerate(list1))
今私が思うには、昇順、と言うには、オリジナルのリスト1でインデックス1、すなわち、このリストをソートしたいです。 どうすればいいですか?
インデックスと値の両方を私に与えてくれるものが欲しいです。
list2 = sorted(list1[1], key=float)
MWEによって列挙リスト:ソート値
list1 = [2,5,46,23,9,78]
list1 = list(enumerate(list1))
今私が思うには、昇順、と言うには、オリジナルのリスト1でインデックス1、すなわち、このリストをソートしたいです。 どうすればいいですか?
インデックスと値の両方を私に与えてくれるものが欲しいです。
list2 = sorted(list1[1], key=float)
並べ替え: - x[1]
>>> list2 = sorted(list1, key=lambda x:x[1])
>>> list2
[(0, 2), (1, 5), (4, 9), (3, 23), (2, 46), (5, 78)]
このようなものはありますか?
>>> from operator import itemgetter
>>> sorted(list1, key=itemgetter(1))
[(0, 2), (1, 5), (4, 9), (3, 23), (2, 46), (5, 78)]
key
に1つの引数の機能を提供することにより、我々は
sorted
で使用されるリスト要素の比較キーを指定しています。
itemgetter
は、アイテムゲッターオペレータ
[i]
の周りの素敵な機能ラッパーです。キーとして
item[1]
と
あなたは、全体のリスト(だけでなく、最初の要素)を渡し、その値をソートするためにラムダ関数を使用する必要があります。
>>> list1 = [2,5,46,23,9,78]
>>> list2 = list(enumerate(list1))
>>> list2
[(0, 2), (1, 5), (2, 46), (3, 23), (4, 9), (5, 78)]
>>> list3 = sorted(list2, key=lambda x: x[1])
>>> list3
[(0, 2), (1, 5), (4, 9), (3, 23), (2, 46), (5, 78)]
それはオプションだ場合は、それを列挙する前にリストを並べ替えを検討: 'リスト((ソート(リスト1))を列挙する)'、あなたが元のインデックスへの参照を保持する場合を除き、その場合、これを中動作しません。 – Peri461