为了账号安全,请及时绑定邮箱和手机立即绑定

为什么运行结果不同

代码一:

def toUppers(L):
    return [l.upper() for l in L if isinstance(l,str)]
print toUppers(['Hello', 'world', 101])


代码二:

def toUppers(L):
    for l in L:
        if isinstance(l,str):
            return[l.upper()]
print (toUppers(['Hello','world', 101]))

为什么这两种代码运行结果不一样呢?

正在回答

2 回答

可以说规则就是这样。。

return语句就是告诉函数执行到这里就把相应值返回给主函数然后结束。

你要这么写可以把return那行改成一个自己定义的list存储你过滤过的结果,然后在for循环外返回这个list

0 回复 有任何疑惑可以回复我~

函数只要执行return就会结束

所以代码二只会return ['HELLO']

2 回复 有任何疑惑可以回复我~
#1

慕设计9211462

我也遇到这样的困惑,想了好久没明白,看来都是新手,对return 还不熟悉,
2019-02-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

为什么运行结果不同

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信