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 对现有的元组或字典进行排序,但我不确定如何对打印的输出进行排序。我做了一些研究,一切都指向在我的脚本中实现排序而不是对打印输出进行排序,但谁知道呢,也许有人有解决方案。谢谢。
更新:
谢谢大家。我试图使所有解决方案都起作用,但我不断收到此错误:
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
但没有运气。