我正在编写一个
python脚本来处理从文件中读取的列表:
l = readListFromFile( myFile ) for i in l : # do something to each element
当l有多个元素时,一切正常.
但是,当列表中只有一个元素时,readFromFile会将l作为标量而不是列表返回.因此,我失败了,错误
object is not iterable
我无法控制readFromFile,我的问题是即使在l只有一个元素的情况下,我怎么能让python把l作为一个alist?
解决方法
一个简单的解决方案是
l = readListFromFile(myFile) try: i = iter(l) if isinstance(l,str): i = l except TypeError: i = [l] for .... in i
即使您更改了readListFromFile以返回另一个iterable,这也会有效.
如果保证是str或列表(或其他可迭代)的单线程解决方案就是
l = readListFromFile(myFile) for e in [l] if isinstance(l,str) else l:
只使用三元运算符.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。