lst = [(u'course', u'session'), (u'instructor', u'session'), (u'session', u'trainee'), (u'person', u'trainee'), (u'person', u'instructor'), (u'course', u'instructor')]
タプルのリストを上に示しました。次のロジックで並べ替える必要があります。各タプルの2番目の要素は1番目の要素に依存します。たとえば、(コース、セッション)->セッションはコースに依存します。
依存関係の優先度に基づいてソートされたリストが必要です。少ないオブジェクトまたは独立したオブジェクトが最初に来るので、出力は次のようになります。
lst = [course, person, instructor, session, trainee]