Python 並び替え 要素の種類によって昇順、降順を切り替える

前提

Pythonでリストの並び替えをしたいです。

実現したいこと

Python

list = [('1', 'f', 250), ('2', 'f', 400), ('3', 'f', 100), ('4', 'm', 150), ('5', 'm', 700), ('6', 'm', 350)]

以上のリストを、
第2要素が'f'については、第3要素が昇順となるように並べ替え、
第2要素が'm'については、第3要素が降順となるように並べ替えたいのです。

Python

list = [('3', 'f', 100), ('1', 'f', 250), ('2', 'f', 400), ('5', 'm', 700), ('6', 'm', 350), ('4', 'm', 150)]

order_byやsortを使うと、全てに昇順、降順が適応されてしまいます。
リストを二つに分けてから、それぞれを並び替えて、リストをくっつけるなどはあまりしたくありません。
できるだけシンプルな処理で、並び替えができますでしょうか?

コメントを投稿

0 コメント