Python の組み込みヒープ機能のいくつかを理解しようとしています。タプルのリストを渡すと、気に入らないようです (または、リストを正しく渡していない可能性が高い)。ここに私が持っているものがあります:
myList = ( ('a', 1), ('b', 2) )
heapify(myList)
私が得るエラーは
TypeError: ヒープ引数はリストでなければなりません
私は何か間違ったことをしていますか?タプルのリストを渡す別の方法はありますか?
ありがとう!
Python の組み込みヒープ機能のいくつかを理解しようとしています。タプルのリストを渡すと、気に入らないようです (または、リストを正しく渡していない可能性が高い)。ここに私が持っているものがあります:
myList = ( ('a', 1), ('b', 2) )
heapify(myList)
私が得るエラーは
TypeError: ヒープ引数はリストでなければなりません
私は何か間違ったことをしていますか?タプルのリストを渡す別の方法はありますか?
ありがとう!
問題はそれmyList
がタプルであることです。これを試して:
myList = [('a', 1), ('b', 2)]
heapify(myList)
上記のように、heapify はリスト (myList) をヒープに変換します。したがって、heapify を使用する場合は、最初にすべてをリストに変換する必要があります。
http://docs.python.org/library/heapq.html <--- heapq についてもう少し詳しく説明します