莫名其妙,简单,“列表索引超出范围”——Python

通用熊

我一直在尝试使用这个 for 循环。其实有各种for循环。我不断收到错误,“列表索引超出范围”。不知道。

for q in range(0, len(list(package_ids))-1):
        if (q==0):
            query = 'Zero' + package_ids[q]
        else:
            query = 'More' + package_ids[q]
唐科波塔马斯

它很可能package_ids是一个生成器,转换为一个列表以找出项目的数量已经耗尽了它,或者它可能只是一个不公开的迭代[]无论如何,您的代码最好表示为:

for q, x in enumerate(package_ids):
    if q == 0:
        query = 'Zero' + x
    else:
        query = 'More' + x

这将处理任何类型的可迭代对象,包括生成器。

或者更简洁:

for q, x in enumerate(package_ids):
    query = ('More' if not q else 'Zero') + x

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章