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:
只使用三元运算符.
顺便说一句,有一个名为readList的方法…并不总是返回一个列表是邪恶的.
总结以上是内存溢出为你收集整理的python:将标量视为一个元素列表全部内容,希望文章能够帮你解决python:将标量视为一个元素列表所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)