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

求教为什么不能这样写?

def toUppers(L):
     for x in L if isinstance(x, str):
              return x.upper()         

print oUppers(['Hello', 'world', 101])

总是显示第二行错误,无法运行。为什么呢?

正在回答

3 回答

你写法比较拼凑,for后面跟筛选if是列表生成式才可以这样,或者if写到下面,注意空格

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

列表表达式:

        [表达式 for 变量 in 列表 if 条件]

你的写法不符合语法,for前少表达式,你可以这么写

def toUppers(L):

    return [x.upper() for x in L if isinstance(x, str)]

print (toUppers(['Hello', 'world', 101]))


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

我认为是  要么 这样写一行  x.upper() for in  if isinstance(x, str

或者是写3行 for in  L

if isinstance(x, str)

 x.upper()

你第2行提示错误是for循环并没有紧跟if条件的,得分开写。

        

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

举报

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

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

进入课程

求教为什么不能这样写?

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