我有一个文件,其中包含我正在循环的值。该文件由具有 x 和 y 值的两列组成。我将 x 和 y 值添加到列表中,例如
example_list = []
for line in f:
example_list.append([line.split()[0], line.split()[1]])
但是,我希望列表最长为 15 个列表,仅保留line.split()[1]
. 两种方法是
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
每一行。有什么更好的方法来保持列表列表的排序,以便只添加一个新元素来替换列表中的最低元素?