jim*_*on 1 python string list-comprehension python-3.x jupyter-notebook
试图通过我定义的函数在 Python 中传递一个列表,但是当我运行代码时,我得到“无”作为输出。
为了可重复性,我将使用一个简单的示例,在该示例中,我希望将字符串中的所有单词都设为大写。
def upcase(x):
print(x.upper())
upcase("word")
Run Code Online (Sandbox Code Playgroud)
这当然给出:
WORD
Run Code Online (Sandbox Code Playgroud)
但是现在,如果我尝试将我的函数应用于整个字符串,如下所示:
randoms = ['chicken', 'window', 'carpet', 'lampshade', 'crosswalk']
randoms_upcased = [upcase(x) for x in randoms]
print(randoms)
print(randoms_upcased)
Run Code Online (Sandbox Code Playgroud)
我得到:
CHICKEN
WINDOW
CARPET
LAMPSHADE
CROSSWALK
['chicken', 'window', 'carpet', 'lampshade', 'crosswalk']
[None, None, None, None, None]
Run Code Online (Sandbox Code Playgroud)
而我想要的输出是这个。
['chicken', 'window', 'carpet', 'lampshade', 'crosswalk']
['CHICKEN', 'WINDOW', 'CARPET', 'LAMPSHADE', 'CROSSWALK']
Run Code Online (Sandbox Code Playgroud)
这可能吗?感激地收到任何帮助。
您的 upcase 函数打印出结果,但它不返回任何内容。由于您没有指定返回值,因此默认返回None. 你会想要添加一个明确的回报:
def upcase(x):
x = x.upper()
print(x)
return x
Run Code Online (Sandbox Code Playgroud)