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个更多的值。
慕容708150
TA贡献1831条经验 获得超4个赞
for line in data.split("/n")
应该
for line in data.split("\n")
甚至更好:
for line in data.splitlines()
添加回答
举报
0/150
提交
取消