パイソン初心者です。スクリプトの最後に、システムから情報を照会して次の形式にダンプする何かがあるとします。
print my_list_of_food(blah)
次のようなリストを出力します。
('Apples', 4, 4792320)
('Oranges', 2, 2777088)
('Pickles', 3, 4485120)
('Pumpkins', 1, 5074944)
('more stuff', 4545, 345345)
次に、2 番目のフィールドに基づいてその出力を並べ替えて、次のようにするにはどうすればよいですか。
('Pumpkins', 1, 5074944)
('Oranges', 2, 2777088)
('Pickles', 3, 4485120)
('Apples', 4, 4792320)
bash コマンドをインポートする以外は、cut -d "," -f 2 | head 4
むしろ python を使用したいと思います。sorted または sort を使用して既存のタプルまたは辞書をソートできることは知っていますが、出力の出力をソートする方法がわかりません。私はいくつかの調査を行いましたが、印刷出力を並べ替えるのではなく、スクリプトに並べ替えを実装することをすべて示していますが、誰かが解決策を持っている可能性があります。ありがとう。
アップデート:
みんな、ありがとう。すべてのソリューションを機能させようとしましたが、次のエラーが発生し続けます。
File "test.py", line 18, in <lambda>
print sorted(my_list_of_food(blah), key=lambda x: x[1])
TypeError: 'int' object is unsubscriptable
File "test.py", line 18, in <lambda>
print(sorted(my_list_of_food(blah), key=lambda k: k[1]))
TypeError: 'int' object is unsubscriptable
スクリプトの冒頭にこれを含めようとしました:
from __future__ import print_function
しかし運がない。