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

python中的“太多值无法解包”错误

python中的“太多值无法解包”错误

炎炎设计 2021-03-01 13:15:50
import pylab as pldata = """AP 10AA 20AB 30BB 40BC 40CC 30CD 20DD 10"""grades = []number = []for line in data.split("/n"):     x, y = line.split()     grades.append(x)     number.append(int(y))       fig = pl.figure()ax=fig.add_subplot(1,1,1)ax.bar(grades,number)p.show()这是我的代码,我希望根据数据制作条形图。最初,当我运行代码时,在第17行中出现了缩进错误,在为所有for块添加一个空格后,在第16行中开始出现此“太多值以至于无法解包错误”。 python,我现在不知道该如何进行。
查看完整描述

3 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

问题是您for-loop的拆分令牌是错误的(/n)而不是\n

但是,当您只想分割换行符时,实际上splitlines()在字符串上有一个-method可以做到这一点:您应该实际使用此方法,因为它也将处理* nix和Windows之间的不同换行符分隔符(* nix系统通常表示换行符通过\r\n,而Windows使用\n和旧的Mac OS使用\r:请查看Python文档以获取更多信息)

您的错误发生在下一行:由于没有将字符串拆分成几行,因此您的整个字符串现在将在空格上拆分,这将产生比您尝试分配给元组的2个更多的值。


查看完整回答
反对 回复 2021-03-31
?
慕容708150

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

for line in data.split("/n")

应该

for line in data.split("\n")

甚至更好:

for line in data.splitlines()


查看完整回答
反对 回复 2021-03-31
  • 3 回答
  • 0 关注
  • 806 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信