この記事の例では、シーケンス内の最小要素を取得する Python 実装について説明します。皆さんの参考に共有してください。
具体的な方法は以下の通りです。
import heapq import random def issorted(data): data = list(data) heapq.heapify(data) while data: yield heapq.heappop(data) alist = [x for x in range(10)] random.shuffle(alist) print 'the origin list is',alist print 'the min in the list is' for x in issorted(alist): print x,
プログラムの実行結果は次のとおりです:
the origin list is [2, 3, 4, 9, 8, 5, 1, 6, 0, 7] the min in the list is 0 1 2 3 4 5 6 7 8 9
heapq モジュールと Random モジュールが使用されます。 heapq バイナリ ツリーは、優先順位の問題を処理するためによく使用されます。
もっと簡単な方法もあります:
print heapq.nsmallest(3,alist) #alist リスト内の最小の 3 つの要素を出力します。文字の場合は、アルファベット順に比較します。
興味のある方は、この記事の例をテストして実行してみてください。この記事で説明されている内容は、Python プログラミングの学習にとって一定の参考になると思います。