小编Arj*_*ran的帖子

在一个文件中查找不在python中另一个文件中的所有数字

有两个文件,分别是FileA和FileB,我们需要找到FileA中所有的编号,而FileB中没有这些编号。FileA中的所有数字均已排序,FileB中的所有数字均已排序。例如,

输入:

FileA = [1, 2, 3, 4, 5, ...]
FileB = [1, 3, 4, 6, ...]
Run Code Online (Sandbox Code Playgroud)

输出:

[2, 5, ...]
Run Code Online (Sandbox Code Playgroud)

内存非常有限,甚至无法一次将一个完整的文件加载到内存中。同样需要线性或更短的时间复杂度。

因此,如果文件足够小以适合内存,我们可以加载它们并将其内容初始化为两个集合,然后取一个集合差,以便以O(1)或恒定时间复杂度解决问题。

set(contentsofFileA)-set(contentsofFileB)
Run Code Online (Sandbox Code Playgroud)

但是由于文件太大,它们将无法完全加载到内存中,因此这是不可能的。

同样,另一种方法是在批处理中使用蛮力方法。因此,我们从FileA加载数据块或一批,然后从FileB加载数据块,然后比较它,然后再从FileB加载下一个数据块,依此类推。然后,在对FileB中的所有元素进行FileA块检查之后,再从FileA加载下一批,然后继续进行。但这会产生O(n ^ 2)或二次时间复杂度,对于具有大条目的超大文件而言效率不高。

需要以线性或更短的时间复杂度来解决该问题,并且不将整个文件加载到内存中。有什么帮助吗?

python arrays file out-of-memory

17
推荐指数
3
解决办法
656
查看次数

Trouble saving repeated protobuf object to file (Python)

I'm new to protobuf, so I don't know how to frame the question correctly.

Anyways, I'm using this Model Config proto file. I converted it into python using this command protoc -I=. --python_out=. ./model_server_config.proto from Protocol Buffer page. Now I have some python files which I can import and work on. My objective is to create a file (for running the TensorFlow model server with multiple models) which should look like the following:

model_config_list: {
 config: {
    name: "name1", …
Run Code Online (Sandbox Code Playgroud)

python protocol-buffers proto tensorflow protobuf-python

4
推荐指数
1
解决办法
4053
查看次数