我需要比较两个对象在python中是否具有相同的数据,但有些类型不支持==.我可以从它们中制作pkl文件然后比较字节数据吗?如果这不起作用,有没有办法比较他们的字节数据(假设我们不知道我们是否正在处理可能包含不同数据类型,列表,矩阵,数据帧等的两个元组)?根据我们是否正在查看包含矩阵,数据帧等的元组,编写具有不同情况的比较函数,看起来非常混乱.
在python / numpy中,我有一个名为的10,000x10,000数组random_matrix。我使用MD5计算哈希值str(random_matrix)和random_matrix本身。在字符串版本上花费0.00754404067993秒,在numpy数组版本上花费1.6968960762。当我将其放入20,000x20,000数组时,在字符串版本上花费0.0778470039368,在numpy数组版本上花费60.641119957秒。为什么是这样?numpy数组比字符串占用更多的内存吗?另外,如果我想用这些矩阵标识文件名,那么在计算散列值之前将其转换为字符串是一个好主意,还是有一些缺点?
以下代码给了我一个段错误,我不知道为什么.除了最后返回0之外,它是我的主函数中唯一的代码.此外,它成功打印"fr open".
//create file pointer and open file
FILE *fr;
fr = fopen("IntegerArray.txt", "r");
if(fr = NULL){
printf("fr is null\n");
}
else{
printf("fr opened\n");
}
int ch = fgetc(fr);
ch = fgetc(fr);
Run Code Online (Sandbox Code Playgroud)