当前位置:首页 » 编程语言 » memoryerrorpython

memoryerrorpython

发布时间: 2024-08-29 00:07:55

㈠ 请问大神们python处理数据遇到memory error怎么办

items=[[0,16],[0,34],[10,15],[10,28],[20,35],[20,58],[34,13],[34,18],[34,20]]
while1:
tmps=[(a,b)forainitemsforbinitemsifa[-1]==b[0]]
ifnottmps:
break
tmps2=[(a,b)foraintmpsforbintmpsifa[-1]==b[0]]
foriintmps2:
tmps.remove(i[1])
fora,bintmps:
items.append(a+b[1:])
ifainitems:
items.remove(a)
ifbinitems:
items.remove(b)
print(items)

你的代码没法看, 直接给你重写了个。

如果items的元素能用元组表示的话,通过元组和集合,能更快点。

㈡ Python中程序异常都能被处理吗

“异常”是Python对象,表示一个错误。

如果不想出现异常后程序自动停止运行,编程的人,就要主动捕捉异常,并自己作出相应处理。

捕捉异常可以使用try/except语句。

try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。

下面是try/except的示例,说明了怎样处理各种异常:

try:

<语句> #运行别的代码

except <名字>:

<语句> #如果在try部份引发了'name'异常

except <名字>,<数据>:

<语句> #如果引发了'name'异常,获得附加的数据

else:

<语句> #如果没有异常发生

Python的各种标准异常是预先定义好的。基本上包括了常见的异常情况,主要有以下内容。

异常名称 描述

BaseException 所有异常的基类

SystemExit 解释器请求退出

KeyboardInterrupt 用户中断执行(通常是输入^C)

Exception 常规错误的基类

StopIteration 迭代器没有更多的值

GeneratorExit 生成器(generator)发生异常来通知退出

StandardError 所有的内建标准异常的基类

ArithmeticError 所有数值计算错误的基类

FloatingPointError 浮点计算错误

OverflowError 数值运算超出最大限制

ZeroDivisionError 除(或取模)零 (所有数据类型)

AssertionError 断言语句失败

AttributeError 对象没有这个属性

EOFError 没有内建输入,到达EOF 标记

EnvironmentError 操作系统错误的基类

IOError 输入/输出操作失败

OSError 操作系统错误

WindowsError 系统调用失败

ImportError 导入模块/对象失败

LookupError 无效数据查询的基类

IndexError 序列中没有此索引(index)

KeyError 映射中没有这个键

MemoryError 内存溢出错误(对于Python 解释器不是致命的)

NameError 未声明/初始化对象 (没有属性)

UnboundLocalError 访问未初始化的本地变量

ReferenceError 弱引用(Weak reference)试图访问已经垃圾回收了的对象

RuntimeError 一般的运行时错误

NotImplementedError 尚未实现的方法

SyntaxError Python 语法错误

IndentationError 缩进错误

TabError Tab 和空格混用

SystemError 一般的解释器系统错误

TypeError 对类型无效的操作

ValueError 传入无效的参数

UnicodeError Unicode 相关的错误

UnicodeDecodeError Unicode 解码时的错误

UnicodeEncodeError Unicode 编码时错误

UnicodeTranslateError Unicode 转换时错误

Warning 警告的基类

DeprecationWarning 关于被弃用的特征的警告

FutureWarning 关于构造将来语义会有改变的警告

OverflowWarning 旧的关于自动提升为长整型(long)的警告

PendingDeprecationWarning 关于特性将会被废弃的警告

RuntimeWarning 可疑的运行时行为(runtime behavior)的警告

SyntaxWarning 可疑的语法的警告

UserWarning 用户代码生成的警告

Python系统处理异常就是提示一下,停止运行。不想停止,只有自己处理。

可以不带类型,所有异常执行同一组语句:

try:
正常的操作
except:
发生异常,执行这块代码
else:
如果没有异常执行这块代码


也可以多个异常共用一段代码:

ry:
正常的操作
except(Exception1[, Exception2[,...ExceptionN]]]):
发生以上多个异常中的一个,执行这块代码
else:
如果没有异常执行这块代码

还有一种格式,可以有finally部分:

try:
fh = open("testfile", "w")
try:
fh.write("这是一个测试文件,用于测试异常!!")
finally:
print "关闭文件"
fh.close()except IOError:
print "Error: 没有找到文件或读取文件失败"

当在try块中抛出一个异常,立即执行finally块代码。

finally块中的所有语句执行后,异常被再次触发,并执行except块代码。

参数的内容不同于异常。

除了标准异常,我们也可以自己定义异常,并进行处理,这时用到raise语句:

raise [Exception [, args [, traceback]]]

语句中 Exception 是异常的类型(例如,NameError)参数标准异常中任一种,args 是自已提供的异常参数。

最后一个参数是可选的(在实践中很少使用),如果存在,是跟踪异常对象。

相应的异常处理程序示例如下:

try:
正常语句,内含raise语句

except Exception,err:
触发自定义异常

else:
其余代码

㈢ Python实现协同过滤推荐算法,用的大一些的数据集就报错MemoryError

  1. python虽然易用,但是内存占用比较多;所以如果你有C/C++/Java基础,考虑用这些语言来实现;

  2. CF算法需要计算大量的相似度,如果能把中间结果存起来,或者简化计算过程(如,你可能会重复计算一个item的均值)可以省下不少内存;(个人试过计算1w个用户Pearson是没问题的)

  3. 如果内存实在不够用,那就用时间换空间,把中间计算结果分成小文件存到磁盘上,用的时候再读取。

    供参考。

㈣ python 问题求解:memoryError的问题!

其实,解决这种问题的策略无非两种策略:
1、换用内存更大的服务器。
2、使用更大的物理空间来牺牲性能,你可以将中间结果或者临时结果在计算进行到一定程度的时候存储进入临时文件,然后在使用到相应的数据时候再取用,当然这样非常损失性能,当年我做生物信息学方面的时候遇到这样的问题。只能用数以千计的临时文件进行暂时缓存

热点内容
php上传xls 发布:2024-11-25 11:01:46 浏览:678
formphp 发布:2024-11-25 11:01:45 浏览:553
数据库主表 发布:2024-11-25 10:54:13 浏览:228
什么是cf脚本 发布:2024-11-25 10:51:48 浏览:920
存储台设计 发布:2024-11-25 10:40:04 浏览:668
如何查看自己电脑的所有配置 发布:2024-11-25 10:14:02 浏览:771
java编译器伪编译指什么 发布:2024-11-25 10:08:53 浏览:961
amax服务器默认地址 发布:2024-11-25 10:07:20 浏览:318
甘肃省浪潮服务器云服务器 发布:2024-11-25 10:07:17 浏览:522
android手环 发布:2024-11-25 10:03:55 浏览:163