首页 > 解决方案 > Pycharm 警告:预期为“collection.iterable”,改为使用迭代器

问题描述

我在 Pycharm 2018.3 的 Python 2.7 中有如下代码

dep_services = ['fdb']

for s in reversed(dep_services): # This line is throwing warning
    print s

Pycharm 向我显示警告Expected 'collection.iterable', got iterator instead

有人可以让我知道为什么这是一个警告,我该如何摆脱它?

标签: pythonpycharm

解决方案


尝试将反向迭代器显式转换为列表:

for s in list(reversed(dep_services)): # This line is throwing warning
    print s

reverse 方法返回一个 reverse_iterator:

print type(reversed([1,2,3]))
print type(list(reversed([1,2,3])))

>>> <class 'list_reverseiterator'>
>>> <class 'list'>

推荐阅读