-1
私は約10,000件のリストを反復しています。すべての商品について、私はそれを処理して価値を得る。名前と上位10の値を持つタプルのリストを値の降順に返したいと思います。Pythonのforループからの上位結果のリストを維持するには
それはこのようなものになります。
top_tuples = []
for item in itemlist:
cur_value = compute_value(item)
my_tuple = (item, cur_value)
if cur_value is > the smallest value on my list:
remove smallest value from top_tuples
add tuple to top_tuples at appropriate index #index is based on value
はありがとうを。 itemgetterなし
from operator import itemgetter
tuples_gen = ((item, compute_value(item)) for item in itemlist)
top_tuples = sorted(tuples_gen, key=itemgetter(1), reverse=True)[:10]
あなたは項目がどのように見えるか私たちを見ることができますか? –
現在の "ベスト"リストを反復するには、 'for'ループ内に別のループが必要です。 –
は、処理とソートを分離することができます。最初のプロセス。次にsort([sort build-in functions](https://wiki.python.org/moin/HowTo/Sorting)を使用して) – mquantin