私はPythonリストソートを使用しています。
2 つのリストがあります。1 つは整数のリスト、もう 1 つはオブジェクトのリストです。2 番目のオブジェクト リストには、同じく整数である属性 id があります。id 属性に基づいてオブジェクト リストを並べ替えます。同じ id の順序が最初のリストに表示されます。これは例です。
私は得たa = [1,2,3,4,5]
およびb = [o,p,q,r,s]
、ここで、o.id = 2、p.id = 1、q.id = 3、r.id = 5、s.id = 4
そして、リスト b を、リスト a に表示される ID の順に並べ替えます。これは次のようになります。
sorted_b = [p, o, q, s, r]
もちろん、ネストされたループを使用してこれを実現できます。
sorted_b = []
for i in a:
for j in b:
if j.id == i:
sorted_b.append(j)
break
しかし、これは問題を解決するための古典的な醜いPython以外の方法です.sortメソッドを使用するなど、かなりきちんとした方法でこれを解決する方法があるのだろうかと思いますが、方法はわかりません.