Python “;太多的值无法解压缩”;

Python “;太多的值无法解压缩”;,python,tuples,pool,Python,Tuples,Pool,我有一个函数,可以批量预处理图像,将其作为输入转发给caffe,它类似于下面的内容,并返回两个变量 def processImageCrop(im_info, transformer, flowtransformer): ..... return processed_image, processed_flowimage class ImageProcessorCrop(object): def __init__(self, transfor

我有一个函数,可以批量预处理图像,将其作为输入转发给caffe,它类似于下面的内容,并返回两个变量

 def processImageCrop(im_info, transformer, flowtransformer): 
      .....

      return processed_image, processed_flowimage

      class ImageProcessorCrop(object):
      def __init__(self, transformer, flowtransformer): 
        self.transformer = transformer
        self.flowtransformer = flowtransformer
        #self.flow = flow
      def __call__(self, im_info):
        return processImageCrop(im_info, self.transformer, self.flowtransformer) #, self.flow)
我使用pool.map发送im_info参数调用此函数,并希望分配以下返回的两个变量,但我得到的异常值太多,无法解包。这两个变量的长度都应该为192。如何分配返回的值?谢谢。我不想迭代每个元素,而是返回两个值并将它们分配给两个变量

 def processImageCrop(im_info, transformer, flowtransformer): 
      .....

      return processed_image, processed_flowimage

      class ImageProcessorCrop(object):
      def __init__(self, transformer, flowtransformer): 
        self.transformer = transformer
        self.flowtransformer = flowtransformer
        #self.flow = flow
      def __call__(self, im_info):
        return processImageCrop(im_info, self.transformer, self.flowtransformer) #, self.flow)

result['data'],result['flowdata']=pool.map(image\u processor,im\u info)

。如果
im_info
有两个以上的值,则将列表解压为两个变量的赋值将不起作用

如果您真的想解压列表中的两个元组,可能需要使用
zip
来转换数据:

result['data'], result['flowdata'] = zip(*pool.map(image_processor, im_info))

你的问题有点乱。请正确编辑并尝试提供代码的工作示例。什么是
已处理的\u image
已处理的\u flowimage
?两个图像值数组,每个有192个图像