在列表理解中,解压缩的值太多了

时间:2015-12-20 09:11:30

标签: python json list-comprehension

我对python很新。

这是我的代码:

parameters=['id','release_date','genre_ids','original_title','title',
       'popularity','vote_count','vote_average','original_language','adult']

[ids,release_dates,genre_ids,original_titles,titles,
popularities,vote_counts,vote_averages,languages,adult_bool]= \
[descriptions[i]['results'][0][parameter] for i in range(length) for 
parameter in parameters]

其中description是一个JSON数组,length是JSON的数量,参数是我想要获取的参数。

(这是一个JSON的例子的链接:link,最好用JSON查看器观看它)。

但是我收到了这个错误:

Traceback (most recent call last):
File "C:\Users\binyamine\AppData\Local\Continuum\Anaconda2\lib\site-
packages\IPython\core\interactiveshell.py", line 3066, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-2-7f9c71ad8dba>", line 3, in <module>
[descriptions[i]['results'][0][parameter] for i in range(length) for 
parameter in parameters]
ValueError: too many values to unpack

任何想法为什么??? 非常感谢!!

1 个答案:

答案 0 :(得分:0)

该理解产生list,其长度等于parameters中的值乘以length。由于您尝试将其解压缩为parameters长度的内容,因此仅当length1时才有效。创建并将此理解分配给新引用(例如result = [descriptions[i]...))并将其打印出来以查看它产生的内容。然后,您可以根据其实际结构处理它(如果它不能产生您正在寻找的结果,则可以修复它。)