次の形式のリストがたくさんあります。
list1 = [4,[14,13,12,11,10]]
list2 = [4,[13,12,11,10,9 ]]
list3 = [4,[5 ,4 ,3 ,2 ,1 ]]
list4 = [3,[14,14,14,13,1 ]]
list5 = [3,[14,14,14,12,11]]
list6 = [2,[14,14,13,13,12]]
list7 = [1,[14,14,13,12,11]]
list8 = [0,[14,13,12,11, 9]]
次の比較を使用してこれらのリストを比較する必要があります: 1) 最初のサブリストを比較します。最大のサブリスト値を含むすべてのリストを返します。上記の場合、最初のサブリストの値がすべて 4 であるため、list1、list2、list3 を返します。 2) 次に、2 番目のサブリスト (リスト内のリスト) を比較します。この比較は要素ごとに行われます。これらの各リストにあります。例: リスト 1、2、3 を見てください。リスト 1 の最初の要素は 14、リスト 2 の最初の要素は 13、リスト 3 の最初の要素は 5 です。リスト 2 とリスト 3 よりも値が大きいため、リスト 1 が返されます。
しかし、代わりにこれを考慮してください:
list1 = [4,[14,13,12,11,10]]
list2 = [4,[14,13,11,10,8 ]]
list1 と list2 はどちらも最初のサブリストとして 4 を持っているので、それらを取得します。次に、2 番目のサブリスト (再びリスト) を見て、あるリストが別のリストよりも大きくなるまで、要素ごとに比較します。したがって、ここでは 14 == 14、13 == 13、そして最後に 12 > 11 を比較すると、list1 が返されます。
任意の数のリストと要素横断でこれを行う必要があります。どうすればこれを達成できますか?