我有一个特定的列表,我需要对它进行排序。你知道吗
[{'inventory_id': 25,
'location_id': 12,
'package_id': False,
'partner_id': False,
'prod_lot_id': False,
'product_id': 7,
'product_qty': 0,
'product_uom_id': 1,
'sequence': '10',
'theoretical_qty': 10.0},
{'inventory_id': 25,
'location_id': 12,
'package_id': False,
'partner_id': False,
'prod_lot_id': False,
'product_id': 8,
'product_qty': 0,
'product_uom_id': 1,
'sequence': '3',
'theoretical_qty': 15.0},
{'inventory_id': 27,
'location_id': 12,
'package_id': False,
'partner_id': False,
'prod_lot_id': False,
'product_id': 9,
'product_qty': 0,
'product_uom_id': 1,
'sequence': '7',
'theoretical_qty': 21.0}]
我需要根据'sequence'
键字段对这3条记录进行排序。你知道吗
排序后,列表输出应为:
[{'inventory_id': 25,
'location_id': 12,
'package_id': False,
'partner_id': False,
'prod_lot_id': False,
'product_id': 8,
'product_qty': 0,
'product_uom_id': 1,
'sequence': '3',
'theoretical_qty': 15.0},
{'inventory_id': 27,
'location_id': 12,
'package_id': False,
'partner_id': False,
'prod_lot_id': False,
'product_id': 9,
'product_qty': 0,
'product_uom_id': 1,
'sequence': '7',
'theoretical_qty': 21.0},
{'inventory_id': 25,
'location_id': 12,
'package_id': False,
'partner_id': False,
'prod_lot_id': False,
'product_id': 7,
'product_qty': 0,
'product_uom_id': 1,
'sequence': '10',
'theoretical_qty': 10.0}]
记录的数量可以是可变的,并且是动态的 现在他们是三张唱片,但也可能超过10张。你知道吗
使用
list.sort()
并指定一个键函数,该函数将从每个字典返回sequence
键的值。这里的键函数是以lambda的形式提供的,但是它可以是用def
定义的函数。序列看起来像是数字的,所以它可能应该按数字排序,因此int()
转换。最后一点,如果字典缺少sequence
键,则序列被视为0:输出:
相关问题 更多 >
编程相关推荐