python - 如何从python中记录的跳过
问题描述
我做了一个循环来计算单词列表中单词出现的次数。所以我使用以下代码:
for i in range(len(traindocs_clean)):
for word in traindocs_clean[i][1][0]:
if traindocs_clean[i][1] is None:
continue
wordDict[word]+=1
但我知道有些行的值为 null/NoneType/Blank,所以当我运行代码时,我会收到跟随错误
for word in traindocs_clean[i][1][0]:
TypeError: 'NoneType' object is not subscriptable
我尝试使用关键字“继续”和“通过”来忽略这些记录并跳转到下一条,但显然它不起作用。我搜索了过去的评论和帖子,但我无法得到正确的答案,所以如果您认为已经有一些与此相同的帖子,请分享链接,否则如果您帮助我解决问题,我将不胜感激。谢谢你
解决方案
您可以使用块处理异常try-except
:
for i in range(len(traindocs_clean)):
try:
for word in traindocs_clean[i][1][0]:
wordDict[word] += 1
except TypeError:
pass
注意:最好不要使用 pass 和 log 或以适当的方式处理错误。
Usingtry-except
的另一个优点是让您能够处理多个异常和/或在不同情况下运行不同的命令。例如,如果您的代码也容易出现,IndexError
您可以执行以下操作:
try:
for word in traindocs_clean[i][1][0]:
wordDict[word] += 1
except (TypeError, IndexError):
pass
或者,如果您想以IndexError
另一种方式对待:
try:
for word in traindocs_clean[i][1][0]:
wordDict[word] += 1
except TypeError:
pass
except IndexError:
# do something
推荐阅读
- python - 使用 tf.train.Checkpoint 在 keras 中保存 GAN
- python - Python中用于非平方成本矩阵的匈牙利算法
- java - 我是否需要在 Mongo 的这个 POST 请求中进行事务处理?
- mysql - 启用多线程时如何获取最后一个 SQL 复制错误?
- java - 无法通过 Springboot 将短划线保存到 CCSID 37 的 DB2 列
- javascript - 如何在javascript中计算两个三角形之间的二维变换矩阵
- sql - 按行分组,但给出其他行的最高值
- python - flask-sqlalchemy 加入关联表中的所有匹配项
- yaml - 修复 IP 地址不能取自 YAML 容器部署
- flutter - 如何在颤动中将纬度和经度转换为当前地址,获取时间和时间以及持续时间并存储在firebase中