import pylab as pl
data = """AP 10
AA 20
AB 30
BB 40
BC 40
CC 30
CD 20
DD 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 block 添加一个空格后,我在第 16 行开始出现“太多值无法解包错误”。 我是 python 的新手,我现在不知道如何进行。
最佳答案
问题是您的 for-loop
在错误的标记处拆分 (/n
) 而不是 \n
。
但是当您只想拆分换行符时,实际上有一个 splitlines()
方法在字符串上可以做到这一点:您实际上应该使用这个方法,因为它会处理不同的换行符之间的分隔符*nix 和 Windows(*nix 系统通常通过 \r\n
表示换行符,而 Windows 使用 \n
而旧的 Mac OS 使用 \r
:查看 Python documentation 了解更多信息)
你的错误发生在下一行:由于字符串没有被分割成行,你的整个字符串现在将在空白处被分割,这将产生比你尝试分配给元组的 2 更多的值.
关于python - python 中的 'too many values to unpack' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17025724/