並べ替える必要のあるデータ構造は次のとおりです。同じ高さのアイテムのグループである各ビンについて、面積の合計と重量の合計を取得し、比率でビンを並べ替える必要があります。
bins = {
12 : [
{
length : 12
width : 24
weight : 50
},
{
length : ...
width : ...
weight : ...
}
]
52 : ...
24 : ...
36 : ...
}
のキーbins
は高さで、各ビンにはアイテムのリストがあります。
私は何かを考え出そうとしましたが、運がありませんでした。
bins = sorted(bins, key=lambda bin: (
sum([item['Length']*item['Width'] for item in bins[bin]]) /
sum([item['Weight'] for item in bins[bin]])
), reverse=True)
問題は、これがリストを返すことです。とにかく辞書オブジェクトを保持することはありますか?イテレータとしてキャストする必要がありますか?