ホームページ  >  記事  >  バックエンド開発  >  Python はシーケンス内の最小要素の取得を実装します

Python はシーケンス内の最小要素の取得を実装します

WBOY
WBOYオリジナル
2016-06-16 08:41:421353ブラウズ

この記事の例では、シーケンス内の最小要素を取得する 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 プログラミングの学習にとって一定の参考になると思います。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。