2016-04-03 8 views
0

という2つの次元を持つリストがあります。 a[0]は1000画像のタプルで、a[1]はラベルのタプルです。これは、対応するペアを結合します2番目の次元の項目に基づいて2つのタプルのリストを分割します。

for image, label in zip(*a): 

:私は、次のコードを実行しようとしています:

from collections import defaultdict 
images = defaultdict(list) 
for image, label in a: 
    images[label].append(image) 

for k,v in images.iteritems(): 
    print('Label {} has {} images'.format(k, len(v))) 

をしかし、私は次のエラーを取得しています:

for image, label in a: 

ValueError: too many values to unpack 
+3

イメージにはzip': '、ラベルにはzip(* a):...というラベルを使用できます。 – falsetru

答えて

4

はに最初のループを変更してみてくださいa[0]a[1]からループすることができます。

+0

ありがとうございます。それはエラーなしで動作しますが、zipコマンドを使用した後に不思議に思うと、結果を表示し、スリープ状態になり、非常に遅くなります。私はスパイダーを終了し、再び実行する必要があります。 –

+0

2番目のループの後にコードがありますか?あなたが投稿したコードにはないかもしれません。 –

+0

いいえ、通常、私はzipコマンドを使用しているときはいつもこの問題があります。 –