这里是Python初学者。假设我在脚本的末尾有一个查询系统信息并将其转储为以下格式:print my_list_of_food(blah)
它输出如下列表:('Apples', 4, 4792320)
('Oranges', 2, 2777088)
('Pickles', 3, 4485120)
('Pumpkins', 1, 5074944)
('more stuff', 4545, 345345)
然后如何根据第二个字段对输出进行排序,使其看起来像这样:('Pumpkins', 1, 5074944)
('Oranges', 2, 2777088)
('Pickles', 3, 4485120)
('Apples', 4, 4792320)
除了将bash命令导入到cut -d "," -f 2 | head 4之外,我宁愿使用python。我知道可以使用sorted或sort对现有元组或字典进行排序,但我不确定如何对打印输出进行排序。我做了一些研究,所有的事情都指向在我的脚本中实现sort而不是对打印输出进行排序,但是谁知道,也许有人有解决方案。谢谢。
更新:
谢谢大家。我试着让所有的解决方案都起作用,但我总是会遇到这样的错误:File "test.py", line 18, in
print sorted(my_list_of_food(blah), key=lambda x: x[1])
TypeError: 'int' object is unsubscriptable
File "test.py", line 18, in
print(sorted(my_list_of_food(blah), key=lambda k: k[1]))
TypeError: 'int' object is unsubscriptable
我试着在剧本开头加上这个:from __future__ import print_function
但没有运气。