课程
/后端开发
/Python
/初识Python
def toUppers(L):
return [x.upper() for x in L and isinstance(x,str)]
print toUppers(['Hello', 'world', 101])
2016-02-18
源自:初识Python 10-3
正在回答
这一段最先被执行的部分是 L and isinstance(x,str)
然后再对这个表达式的值迭代(虽然这个式子返回布尔值并不能迭代,不过这不是重点)
重点是x得有值才能被引用,然而在迭代了之后x才被赋值,并且执行到isinstance(x,str)时迭代还没开始
所以你的写法有问题
bhjzlwq
wxa1 提问者
for循环是迭代不是条件,and用于两个条件之间
举报
学python入门视频教程,让你快速入门并能编写简单的Python程序