为了账号安全,请及时绑定邮箱和手机立即绑定

将文件添加到字典并获取值错误

将文件添加到字典并获取值错误

慕哥6287543 2023-02-07 10:45:57
我阅读并使用了一个大文件(较小的块不会给我错误)并阅读它。但是当我尝试使用时:kv_pairs = [kv.split(":",1) for kv in tokens[6:]]features = {k: float(v) for (k, v) in kv_pairs}我收到错误:{k: float(v) for (k, v) in kv_pairs}ValueError: not enough values to unpack (expected 2, got 1)我尝试使用文件的小块,它在那里工作。问题出在特定的输入条目上。我该如何调试,以便我可以从文件中删除该行。
查看完整描述

2 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

我如何调试,以便我可以从文件中删除该行? ”您不必在文件中删除它。你可以像这样阅读时跳过它

kv_pairs = [kv.split(":",1) for kv in tokens[6:] if ":" in kv]

这将确保tokens[6:]没有键值对(由“:”分隔)的任何成员都将被跳过。


查看完整回答
反对 回复 2023-02-07
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

这意味着其中至少有一个字符串tokens[6:]不包含 a :,例如空字符串或其他内容。

要删除违规行,请更改:

kv_pairs = [kv.split(":",1) for kv in tokens[6:]]

到:

kv_pairs = [kv.split(":",1) for kv in tokens[6:] if ':' in kv] # filter out the strings without a ':'



查看完整回答
反对 回复 2023-02-07
  • 2 回答
  • 0 关注
  • 124 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号