错误:-解包的值太多(预期为2)python函数

我的代码:-

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)

回答

您需要仅使用 Video 而不是使用 idx、Video 获取数组中的项目

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))

或者你可以改成这样

for idex, Video in enumerate(array):


回答

enumerate 函数给出索引号。

更改您的代码,如下所示

for idx, Video in enumerate(array):

  • Just to mention that actually `idx` is never used anywhere else in the code, i.e. it's redundant.

以上是错误:-解包的值太多(预期为2)python函数的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>