質問: [['B',['え','お','か','き']],['C',['く','け','こ']],['A',['あ','い','う']] となったり、categoryの順番がid通りになりません。各category内のitemの順番はid通りになっています。 displayListをsortedで並び替えられれば良いのですが、 categoryのidは、一つ深い内部のリストの中にあるのでkey=idではアクセスできず、困っています。 分かりづらい表現ですが、リスト内にある別のリスト内の要素のidに従って、外側のリストの並び替えをするにはどうしたらよいでしょうか? つまり、上記の例で言えば、AやBやCのid順で並び替えたいということです。 どうしたらよいか、お分かりの方、ご教示いただければ幸いです。 よろしくお願いいたします。
回答: sorted関数のkeyの所が誤っていました。 idというのが、私が意図しないidを取ってきていたようでした。 idをitemIdなど、別のフィールド名に変えたあと、 key = lambda item: item.tagId という形でソートし直したら、うまくいきました。