将生成器对象转换为列表时出错"too many values to unpack"



我正在使用rasterio示例模块,我想将我的输出(生成器(转换为列表。我知道我可以只使用list((,但它会引发错误";太多的值无法解包(预期为2(";。当我只使用样本模块时,我得到了生成器:

sample = rasterio.sample.sample_gen(raster, ['754707','4248548'])

但试图用列出一个列表

sample = list(rasterio.sample.sample_gen(raster, ['754707','4248548']))

引发错误。我找到了.items((方法,但它适用于字典,对生成器没有用处,我是第一次使用生成器对象,我不知道哪里出了问题。

尝试:

sample = list(rasterio.sample.sample_gen(raster, [('754707','4248548')]))

在您的示例中,列表中的字符串类似于Sequence,并且是可迭代的,因此在拆包它们时,它们会得到6个值,并且需要两个值。这些字符串可能需要intfloat,尽管我不确定

相关内容

最新更新