タプルの最初の要素でソートして、あるタプルの最初の要素が等しい場合は、2番目の要素でソートします。 たとえば、私は[(5,1),(1,2),(1,1),(4,3)]
を持っています。取得したい[(1,1),(1,2),(4,3),(5,1)]
タプルの両方の要素を使ってタプルのリストを並べ替えるには?
どうすればよいでしょうか?
タプルの最初の要素でソートして、あるタプルの最初の要素が等しい場合は、2番目の要素でソートします。 たとえば、私は[(5,1),(1,2),(1,1),(4,3)]
を持っています。取得したい[(1,1),(1,2),(4,3),(5,1)]
タプルの両方の要素を使ってタプルのリストを並べ替えるには?
どうすればよいでしょうか?
d = [(5,1),(1,2),(1,1),(4,3)]
print(sorted(d,key=lambda x:(x[0],x[1])))
あなたはitemgetter
このキーは必須ではありません。 – AKS
import operator
l = [(5,1),(1,2),(1,1),(4,3)]
print(sorted(l, key=operator.itemgetter(0,1))
より良い性能の使用をしたい場合は、リスト項目自体にソートしたいので、あなたが本当にkey
を指定する必要はありません。
>>> d = [(5,1),(1,2),(1,1),(4,3)]
>>> sorted(d)
[(1, 1), (1, 2), (4, 3), (5, 1)]
ソート方法は、リストオブジェクトを返します、覚えておいてください。この場合、dはまだソートされていません。
あなたはDをソートしたい場合は、
>>>d.sort()
が、それはの
可能な重複ホープ(HTTPを使用することができます[リスト/タプルのを(リスト/タプル)を並べ替えるには?]:// stackoverflowの.com/questions/3121979/how-to-sort-list-tuple-of-lists-tuples) – Florent