タプルのリストから始めます。
a = [(10,10),(20,20)]
b = [(15,15),(25,25)]
a, b
アイテムがサイズ順に並べられた新しいリストを作成するために、どのリスト内包表記を使用できますか?
c = [(10,10),(15,15),(20,20),(25,25)]
これを理解する必要はありません。単純に行うことができます。
c = a + b
c.sort()
>> [(10, 10), (15, 15), (20, 20), (25, 25)]
またはさらに短い:
c = sorted(a + b)
>> [(10, 10), (15, 15), (20, 20), (25, 25)]
両方のリストがすでにソートされている場合...
c = list(heapq.merge(a, b))
それ以外は
c = sorted(itertools.chain(a, b))
なぜリスト内包表記なのか? 「サイズ」の意味がわからないので、面積を推測します。
c = sorted(a+b, key=lambda x: x[0]*x[1])
from itertools import chain
a = [(10,10),(20,20)]
b = [(15,15),(25,25)]
sorted(chain(a, b))
# [(10, 10), (15, 15), (20, 20), (25, 25)]
Sorting HOWTOを読むべきでしょう。特に、「サイズ」の定義方法によっては、重要な機能に関するセクションが関連する場合があります。