我有一个具有零值的同构字典列表,但是它可以包含任何类型的值。示例:
values=[{'buy_qty': 15, 'product_id': 30}, {'buy_qty': 0,'product_id': 33},{'buy_qty': 25, 'product_id': 50}, {'buy_qty': 7, 'product_id': 22}]
有没有办法不重新设计轮子,让列表按python方法通常使用的“最小购买量”排序,但在列表末尾是“零”值,例如:
^{pr2}$我试过用itemgetter
sorted(total_lines, key=itemgetter('buy_qty'))
我觉得这里可以有一些“关键”参数的技巧
关键功能你说得对。我添加了一个键函数,它按buy_qty排序,除非它不大于0,否则将其视为无穷大,本质上是将它移到末尾。在
您可以定义任何要用作排序的函数-可以在
sorted
之外,也可以在内部使用lambda。这样,您就可以进行例外处理(在本例中为0数量)使用自定义比较函数。在
相关问题 更多 >
编程相关推荐