python - 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
有人可以让我知道为什么这是一个警告,我该如何摆脱它?
解决方案
尝试将反向迭代器显式转换为列表:
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'>
推荐阅读
- google-analytics - GA中的实时活跃用户
- android - Android Kotlin:是否可以将 LastLocation 存储在变量中?
- django - Django Vue Js Axios 已被 CORS 策略阻止
- python - 无法安装 pyOTDR
- mysql - 创建记录后无法更新记录Vue.js/Vuetify/Axios
- ios - 构建错误。在具有多个目标和 NotificationServiceExtensions 的 Xcode iOS 应用程序中安装 Firebase
- javascript - 从点击中获取坐标以使用
- ms-access - 查找我以新形式打开的记录
- objective-c-blocks - Microsoft MSAL ObjC - 尝试以交互方式获取多个范围的令牌
- python - 如何管理 pytests 的 `tests` 文件夹名称与 jupyter 扩展的冲突