首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解包装误差

解包装误差
EN

Stack Overflow用户
提问于 2014-05-05 21:32:33
回答 2查看 59关注 0票数 0
代码语言:javascript
复制
    lstOfitems= list(leterCount.values())
    HstNumber = max(lstOfitems)
    ListOfkeys= list(leterCount.keys())
    NumberofChar = len(ListOfkeys)
    tess = turtle.Turtle()
    tess.color("white")
    tess.fillcolor("white")
    tess.pensize(3)
    wn = turtle.Screen()             
    wn.bgcolor("black")
    wn.setworldcoordinates(0-BORDER,0-BORDER,FORWARD*NumberofChar+BORDER,HstNumber+BORDER)
    for a,b in(lstOfitems,ListOfkeys):
        drawBar(tess, a, b)

上面的代码接受一个字符串,计算有多少个字符,然后在字典中存储。在那之后,我试图制作一个条形图,但是我遇到了一个问题,就是我遇到了一个错误,就是有一个要打开的金库。我该怎么解决这个问题?

回溯的痕迹是:

代码语言:javascript
复制
Traceback (most recent call last):

文件“C:\Users\Steven\lab8exCirse2.py”,第76行,在main()文件"C:\Users\Steven\Desktop\lab8excirse2.py“中,第74行,在main loopSTr() File”C:\ loopSTr \Steven\Desktop\lab8exCirse2.py“中,第47行,在loopSTr for a,b in(lstOfitems,ListOfkeys)中: ValueError:要解包的值太多(预期2)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-05 21:35:34

尝试将(lstOfitems,ListOfkeys)更改为zip(lstOfitems,ListOfkeys)(lstOfitems,ListOfkeys)只是一个由两个list组成的tuple,您不能解压它。但是,Python的内置zip函数将返回一个元组迭代器,其中第一个元组包含每个参数序列或可迭代项中的第一个元素;这正是您想要的。

但是,更好的方法是使用字典的“method:for b,a in leterCount.items()”访问字典键/值对:

话虽如此,您是否知道Python有一个名为collectionsdict子类,它可以很好地满足您的需要?您可以这样使用它:

代码语言:javascript
复制
from collections import Counter

c = Counter('gallahad') # a new counter from an iterable
# c will then be: Counter({'a': 3, 'l': 2, 'h': 1, 'g': 1, 'd': 1})
票数 1
EN

Stack Overflow用户

发布于 2014-05-05 21:35:27

我想,你想要这样的东西:

代码语言:javascript
复制
 for b,a in leterCount.items():
    drawBar(tess, a, b)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23482280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档