Python 停止迭代不可预测的错误

Python 停止迭代不可预测的错误,python,python-3.x,Python,Python 3.x,此函数为我提供了不可预测的StopIteration错误。我想了解是什么导致了这样的错误。因为它有时起作用,有时不起作用: def prepare_dimensions(dimensions, dim_list): for dimension in dimensions: dimension['info'] = next(dim for dim in dim_list if dimension['id'] == dim['_id']) StopItera

此函数为我提供了不可预测的
StopIteration
错误。我想了解是什么导致了这样的错误。因为它有时起作用,有时不起作用:

def prepare_dimensions(dimensions, dim_list):
        for dimension in dimensions:
            dimension['info'] = next(dim for dim in dim_list if dimension['id'] == dim['_id'])

StopIteration
将由
next
引发,如果给它一个空的iterable


如果任何
维度
维度列表
中的任何内容都不匹配,则会出现此错误,因为列表将为空。类似地,如果
dim\u list
为空,则会出现此错误。
StopIteration
将由
next
引发,如果给它一个空的iterable


如果任何
维度
维度列表
中的任何内容都不匹配,则会出现此错误,因为列表将为空。类似地,如果
dim\u list
为空,则会出现此错误。

是否可以为问题添加函数的一些示例输入?同时显示您的预期输出。您是否能够在问题中添加函数的一些示例输入?同时显示您的预期输出。您是对的,说明和尺寸列表长度不匹配。您是对的,说明和尺寸列表长度不匹配。