找到16G数据中最大的五个

#
# -*- coding: utf-8 -*-
" 10 t simulation "
__author__ = "chaos"
import numpy as np


class Find5max(object):
    def __init__(self):
        self.data = [float(0), float(0), float(0), float(0), float(0)]

    def sort_data(self):
        return self.data.sort(reverse=True)

    def number5max(self):
        return self.data[-1]


def data_gen(num, k=1):
    """ generate data file """
    index = 0
    with open(r"E:\data.txt", 'w') as f:
        while 1:
            if index >= int(2**31):
                break
            x = np.random.uniform(0, 1, size=(num, k))
            #  f.writelines(str(x[0][0])+'\n')
            f.write(str(x[0][0]) + '\n')
            index += 1
if __name__ == "__main__":
    data_gen(int(1))
    solution = Find5max()
    with open(r"E:\data.txt") as f:
        while 1:
            line = f.readline()
            if not line:
                print(solution.data)
                break
            line_float = float(line)
            for index, value in enumerate(solution.data):
                if line_float >= value:
                    solution.data.insert(index, line_float)
                    solution.data.pop()
                    break
            solution.sort_data()



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值