ループしている値を含むファイルがあります。このファイルは、x 値と y 値を含む 2 つの列で構成されています。x と y の値をリストに追加しています。
example_list = []
for line in f:
example_list.append([line.split()[0], line.split()[1]])
ただし、リストを最大 15 個のリストにして、最大値のみを保持したいと考えていますline.split()[1]
。それを行う2つの方法は
example_list = []
for line in f:
example_list.append([line.split()[0], line.split()[1]])
top_15 = example_list.sort(key=operator.itemgetter(1), reverse=True)[:15]
また
example_list = []
count = 0
for line in f:
if count < 15:
example_list.append([line.split()[0], line.split()[1]])
count += 1
else:
example_list.sort(key=operator.itemgetter(1))
if example_list[0][1] < line.split()[1]:
example_list[0] = line.split()[1]
sort
ただし、メモリ内のファイル全体を読み取ったり、すべての行を呼び出したりしたくありません。リストの一番下の要素を置き換えるためにのみ新しい要素が追加されるように、リストのリストをソートしておくより良い方法は何ですか?