答えて
あなたは十分にソートされたタプルが簡単に取得することができます。
>>> sorted(mytuple)
[['I', 4], ['say', 2], ['say', 5], ['tomato', 3], ['tomato', 6], ['you', 1]]
これは、リスト内の項目に基づいて並べ替えられます。最初の2つが一致する場合は、2番目などを比較します。
異なる基準がある場合は、比較機能を提供できます。
更新日:コメント者が指摘するように、これはリストを返します。あなたはそうのような別のタプルを取得することができます:
>>> tuple(sorted(mytuple))
(['I', 4], ['say', 2], ['say', 5], ['tomato', 3], ['tomato', 6], ['you', 1])
「ソートされたタプルを取得する」とは、「ソートされた新しいタプルを作成する」という意味ですか? –
sorted()関数はうまく動作します。 –
これは非常に非効率ですが、なぜミルベークのアドバイスを受けて、リストを使って始めてみませんか? Lottが正しいです - タプルを適切にソートすることはできません。 –
あなたは、残念ながら、新しいタプルをインスタンス化する必要があります:
mytuple = sorted(mytuple)
のようなものは、トリックを行う必要があります。しかし、sorted
はタプルを返さないでしょう。必要ならばtuple()
に電話をかけてください。データセットが長い場合、これは潜在的にコストがかかる可能性があります。
サブリストの2番目の要素に設定する必要がある場合は、関数にkey
パラメータを使用できます。
mytuple = sorted(mytuple, key=lambda row: row[1])
その質問(sorted(..., key=itemgetter(...))
)への受け入れ答えに使用される技術は、この種の任意の反復可能で動作します:あなたはそのためのヘルパー機能が必要になります。あなたがここに提示したデータに基づいて、私はそこに提示された正確な解決策があなたが望むものだと思っています。
あなたはタプルを並べ替えることはできません。
sorted()は、タプルをソートせず、タプルからソートされたリストを作成するというものです。あなたがリストを作成し、それを破棄(ともオリジナルを破棄しているので、これはメモリの無駄することができ
mytuple = tuple(sorted(mytuple, key=lambda row: row[1]))
:あなたは本当にソートタプルが必要な場合はタプルとしてソートから、あなたはそれからリターンをキャストすることができますタプル)。あなたはタプルを必要としない可能性があります。もっと効率的なのは、リストから始めてそれを並べ替えることです。
- 1. は、次のように私はリストのリストのリストを持っているリスト
- 2. のpython次のように、リストの中にリストを追加するには、リストエラー
- 3. は、次のように私はリストのリストを持っているパンダのデータフレーム
- 4. 私は次のようにフロートポイントのリスト持つラムダ式
- 5. プロローグは次のように私はリストのリストを持っている好み
- 6. 次のようにだから私は、タプルのリストを持っているリスト
- 7. は、私は次のようにfloatのリストを持っているリスト
- 8. 次のように私は単語リストと呼ばれる単語のリストのリストを持っているリスト
- 9. 次のように
- 10. 次のように
- 11. 次のように
- 12. 次のように
- 13. 次のように
- 14. 次のように
- 15. どのように次のように
- 16. どのように次のように
- 17. のようなURLのリストから、次のページのURL scrapy
- 18. 次のようにどのようスウィフト
- 19. angularjsは順次、次のように
- 20. どのようにストラクチャの次の文字列配列のXMLリストにアクセス
- 21. 次のようにPerlの
- 22. 次のようにiptablesの
- 23. 次のようにBufferedReaderの
- 24. どのように2次元配列に配列のリストを変換する?
- 25. は、どのように私は次のように、文字列のリストのRDDを持っているのScala
- 26. モックは、次のように
- 27. は、次のように
- 28. 次のようにインデックス
- 29. は、次のように
- 30. Expressは、次のように
どのフィールドを並べ替えたいですか? – Jody
タプルはソートできません。それは不変です。 –
そして意味的にこのような状況でタプルは意味をなさない。一般にタプルをソートすることは、リストが使われているはずなので、意味をなさない。 – nikow