私は5つの要素を持つ辞書のリストを持っています。リストの各dictの2つの要素に基づいてこのリストを並べる必要があります。 2つの要素は3つの値をとることができます。dictのいくつかの要素に基づいてdictのリストを整えます
はここに例を示します。
list = [{ 'm' : '3', 'n', : '3', 'o' : '7', 'p' : '3'}, { 'm' : '5', 'n', : '2', 'o' : '7', 'p' : '1'}, { 'm' : '3', 'n', : '1', 'o' : '7', 'p' : '1'}, { 'm' : '3', 'n', : '3', 'o' : '7', 'p' : '2'}]
ので、リストの順序は、2つの要素Nと3つの値(1,2及び3)を取ることができ、Pに基づいている:nおよびpはそれらの1である場合 1。要素が最初に配置される必要があります。 2. n = 1かつp = 2の場合、次に配置されます。 3. n = 1かつp = 3の場合、それらは次に配置されます。 4. p = 1およびn =次のように配置される。 5.最後に、p = 1およびn = 3の場合、それらは次のように配置される。 6.最後はpであり、nは3である。
最終的なリストは、この場合には、次のようになります。
final_list = [{ 'm' : '3', 'n', : '1', 'o' : '7', 'p' : '1'}, { 'm' : '5', 'n', : '2', 'o' : '7', 'p' : '1'}, { 'm' : '3', 'n', : '3', 'o' : '7', 'p' : '2'}, { 'm' : '3', 'n', : '3', 'o' : '7', 'p' : '3'}]
いくつかのいずれかで私は、このための最善の解決策を与えることができます。
nおよびpは数字ものではないですか? – pynew
'n'と' p'はあなたの例では数字ではありません。彼らは文字列です。型にかかわらず、 'key'関数の結果は' <'演算子を使用して比較されます。 –