首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:-太多的值无法解压(预期的2) python函数

错误:-太多的值无法解压(预期的2) python函数
EN

Stack Overflow用户
提问于 2021-06-20 07:33:41
回答 4查看 96关注 0票数 1

我的守则:-

代码语言:javascript
复制
Videos10k=[{'title': '', 'titleWords': ['...','...'], 'titleLength': 10, 'likes': 86, 'disLikes': 5, 'views': 2202, 'creator': '...', 'description': '...'}]
def getavg(number, array=[]):
    views_avg = 0
    for idx, Video in array:
        views = Video["views"]
        views_avg = views_avg + views

    views_avg = views_avg / len(array)
    print("Average views for " + number + " " + views_avg)


getavg("10k", Videos10k)

我得到了这个错误。错误:-

idx的getavg中的

,数组中的视频: ValueError:太多的值来解包(预期的2)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-06-20 07:39:22

enumerate函数给出了索引号。

更改代码,如下所示

代码语言:javascript
复制
for idx, Video in enumerate(array):
票数 5
EN

Stack Overflow用户

发布于 2021-06-20 07:42:01

你需要在数组中只使用视频,而不是idx,视频

代码语言:javascript
复制
Videos10k=[{'title': '', 'titleWords': ['...','...'], 'titleLength': 10, 'likes': 86, 'disLikes': 5, 'views': 2202, 'creator': '...', 'description': '...'}]
def getavg(number, array=[]):
    views_avg = 0
    for Video in array:
        views = Video["views"]
        views_avg = views_avg + float(views)

    views_avg = views_avg / len(array)
    print("Average views for " + str(number) + " " + str(views_avg))

或者你可以改变成这样

代码语言:javascript
复制
for idex, Video in enumerate(array):
票数 6
EN

Stack Overflow用户

发布于 2021-06-20 07:55:53

如果要遍历数组的索引,可以使用枚举,如下所示:

代码语言:javascript
复制
for idx, Video in enumerate(array):

或者使用zip

代码语言:javascript
复制
for idx,Video in zip(range(len(array)),array):

在您的代码中,您从未使用过idx,因此您不需要它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68053633

复制
相关文章

相似问题

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