我很好奇在目前我面临的情况下是否有优化方法。Python:使用另一个列表作为订单对列表进行排序
我有表示由类别,以便和订单数据字符串的列表:
['first', 'third', 'second']
这对应于含有那些需要类别的对象类型的字典的列表进行排序,根据它们:
[{'color':'yellow', 'section':'third'},{'color':'red', 'section':'first'}, {'color': 'blue', 'section':'second'}]
数据列表应经由所述第一组中给定的顺序进行排序,在这种情况下产生:
[{'color':'red', 'section':'first'},{'color':'yellow', 'section':'third'},{'color': 'blue', 'section':'second'}]
我目前的解决方案:
sortedList = []
for section in orderList:
for item in dataList:
if item['section'] == section: sortedList.append(item)
有一个更清洁的方式,我可以排序吗?
您保证每个部分只有一种颜色吗? – jamylak 2013-03-28 09:21:27
可能有更多的属性,但它们都是引用单个字符串的唯一键。 – DivinusVox 2013-03-28 09:23:46