【问题标题】:error "too many values to unpack" while converting generator object to list将生成器对象转换为列表时出现错误“要解压的值太多”
【发布时间】:2021-08-22 23:14:11
【问题描述】:

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

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

但试图列出:

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

引发错误。我找到了 .items() 方法,但它适用于字典,它对生成器没有用,我是第一次使用生成器对象,但我不明白有什么问题。

【问题讨论】:

  • sample_gen 的第二个参数应该是 x-y 坐标对的列表。

标签: python list generator raster rasterio


【解决方案1】:

试试:

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

在您的示例中,列表中的字符串是Sequence-like 和可迭代的,因此在解压缩它们时,它们会得到 6 个值,并且它需要两个值。这些字符串可能需要intfloat,不过我不确定

【讨论】:

    猜你喜欢
    • 2018-10-24
    • 2019-06-25
    • 1970-01-01
    • 2019-01-13
    • 2016-04-25
    • 2017-05-21
    • 1970-01-01
    • 2018-12-19
    • 2019-03-27
    相关资源
    最近更新 更多