Wie Sortieren Sie die Ausgabe der python-Befehl?

Python-Anfänger hier. Lassen Sie uns sagen, dass ich etwas am Ende meines scripts, die Abfragen Informationen aus dem system und gibt Sie in diesem format:

print my_list_of_food(blah)

und es gibt eine Liste wie:

('Apples', 4, 4792320)
('Oranges', 2, 2777088)
('Pickles', 3, 4485120)
('Pumpkins', 1, 5074944)
('more stuff', 4545, 345345)

Wie kann ich dann Sortieren, dass die Ausgabe basierend auf der 2-Feld, so dass es würde wie folgt Aussehen:

('Pumpkins', 1, 5074944)
('Oranges', 2, 2777088)
('Pickles', 3, 4485120)
('Apples', 4, 4792320)

Andere als Import von einem bash-Befehl zu cut -d "," -f 2 | head 4 würde ich eher python verwenden. Ich weiß, dass ich verwenden können, sortiert oder Sortieren zum Sortieren einer vorhandenen Tupel oder dictionary-aber ich bin mir nicht sicher, wie das Sortieren der Ausgabe von print. Ich habe einige der Forschung getan und alles, was Punkte der Implementierung von Sortieren in meinem Skript anstelle der Sortierung einer print-Ausgabe aber wer weiß, vielleicht hat ja jemand eine Lösung. Danke.

UPDATE:

Danke an alle. Ich habe versucht, alle Lösungen funktionieren, aber ich bekomme immer diese Fehlermeldung:

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

Ich habe versucht, um dieses an den Anfang des Skripts:

from __future__ import print_function 

aber kein Glück.

InformationsquelleAutor Kryten | 2013-01-30
Schreibe einen Kommentar