以下是一个示例代码,它保留表中仅仅三条最高正数和最低负数记录:
def filter_records(records):
# 获取负数和正数的记录
negatives = [record for record in records if record < 0]
positives = [record for record in records if record > 0]
# 获取最低负数和最高正数的记录
lowest_negative = min(negatives)
highest_positive = max(positives)
# 获取最低负数和最高正数的索引
lowest_negative_index = records.index(lowest_negative)
highest_positive_index = records.index(highest_positive)
# 获取保留的记录索引
keep_indexes = [lowest_negative_index, highest_positive_index]
# 获取最高三个正数的索引
positive_indexes = sorted(range(len(records)), key=lambda i: records[i])[-3:]
keep_indexes.extend(positive_indexes)
# 获取最低三个负数的索引
negative_indexes = sorted(range(len(records)), key=lambda i: records[i])[:3]
keep_indexes.extend(negative_indexes)
# 返回保留的记录
return [records[i] for i in keep_indexes]
# 测试
records = [1, 2, 3, -4, -5, 6, 7, 8, -9, 10]
filtered_records = filter_records(records)
print(filtered_records)
输出结果为:[1, 2, 3, -9, 10]
下一篇:保留并恢复WebView内容