為什么我把for拿出來放在外面就不行了呢?
為什么我把for拿出來放在外面就不行了呢?我知道要求是要把所有字符串打印在一個list里面,把for拿出來以后我以為會分開不同行打印,但是根本運行不了,這是為什么?
def toUppers(L):
??? for x in L:
??????? return [x.upper() if isinstance(x, str)]
print toUppers(['Hello', 'world', 101])
為什么我把for拿出來放在外面就不行了呢?我知道要求是要把所有字符串打印在一個list里面,把for拿出來以后我以為會分開不同行打印,但是根本運行不了,這是為什么?
def toUppers(L):
??? for x in L:
??????? return [x.upper() if isinstance(x, str)]
print toUppers(['Hello', 'world', 101])
2018-10-23
舉報
2019-01-23
列表生成式顧名思義 你首先得是一個列表。你的這句[x.upper() if isinstance(x, str)],其中x.upper()并不是列表,只是列表之中的一個元素,所以后面的過濾條件并不能起作用。你可以看看這個博客https://www.cnblogs.com/yyds/p/6281453.html
2018-11-06
大哥你好好看列表生成式的意思再說吧,你這行[x.upper() if isinstance(x, str)]已經就不是列表生成式了!樓上那位想想表達的意思是不用列表生成式的寫法而已!big fish!
2018-10-23
你要搞清楚你這么寫究竟符不符合它的語法吧?