English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このセクションでは、Pythonのheapqモジュールを使用して2つのソートされたリストを統合する方法を見ていきます。例えば、リスト1 = [10、20、30、40]そしてリスト2 = [100、200,300,400,500],それを統合するとリストが返されます3 = [10、20、30、40、100、 200、300、400、500]
このタスクを実行するために、heapqモジュールを使用します。このモジュールはPythonの標準ライブラリモジュールとして付属しており、使用する前にインポートする必要があります。
import heapq
heapqモジュールにはいくつかの属性があります。以下の通りです-
メソッド heapq.heapify(iterable)
これは、イテラブルデータセットをヒープデータ構造に変換するために使用されます。
メソッド heapq.heappush(heap, element)
このメソッドは、要素を挿入し、その後、整个のヒープ構造を再構築します。
メソッド heapq.heappop(heap)
このメソッドは、ヒープの先頭から要素を返し、削除し、残りの要素に対してheapifyを実行します。
メソッド heapq.heappushpop(heap, element)
このメソッドは、1つの文で要素を挿入および弹出します。
メソッド heapq.heapreplace(heap, element)
このメソッドは、1つの文で要素を挿入および弹出します。要素をヒープの根から削除し、その要素を挿入します。
メソッド heapq.nlargest(n、イテラブル、キー=無)
このメソッドは、ヒープからn個の最大の要素を返します。
メソッド heapq.nsmallest(n、イテラブル、キー=無)
このメソッドは、ヒープからn個の最小の要素を返します。
import heapq first_list = [45, 12, 63, 95, 74, 21, 20, 15, 36] second_list = [42, 13, 69, 54, 15] first_list = sorted(first_list) second_list = sorted(second_list) print('第1位に並べ替えたリスト: ',) + str(first_list)) print('第2位に並べ替えたリスト: ',) + str(second_list)) final_list = list(heapq.merge(first_list, second_list)) print('最終リスト: ',) + str(final_list))
出力結果
第1位に並べ替えたリスト: [12, 15, 20, 21, 36, 45, 63, 74, 95] 第2位に並べ替えたリスト: [13, 15, 42, 54, 69] 最終リスト: [12, 13, 15, 15, 20, 21, 36, 42, 45, 54, 63, 69, 74, 95]