如何将可运行的Python字符串首字母提取函数缩写为一行代码
正确一行实现
直接用str.join()搭配生成器表达式就能实现和原函数完全等价的逻辑,代码如下:
def first_letter(text): return ''.join(word[0] for word in text.upper().split())
该实现输入"hello world"会返回"HW",大小写处理、单词拆分规则和你原本的函数完全一致。
原写法失效原因
列表推导式的定位是生成可迭代对象,不支持在内部直接执行result += word[0]这类赋值语句,哪怕用海象运算符强行实现累计赋值,代码可读性也会远低于上述写法,完全没有必要。
内容的提问来源于stack exchange,提问作者emily
相关产品推荐
相关产品推荐

