我有以下程序:
def capitalize(self, text):
t = ' '.join([ ''.join([w[0].upper()]+[w[1:]]) for w in text.split()])
if text and text[-1] == ' ':
t = ''.join([t] + [' '])
return t
它需要一个字符串text。它应该做什么:
- 将每个字符串组(单词)的第一个字母大写,并在文本末尾保留空格(如果有的话)。
前任:
'home swe eeeet home' -> 'Home Swe Eeeet Home'
'heLLo OoO ooo ' -> 'HeLLo OoO Ooo ' (space preserved in the end)
问题:
凭借我有限的、完全非专家级的 Python,我试图创建这个过程,以尽可能快地节省内存。
在这种情况下,将事物转换为列表并将它们加入到不继续创建新字符串的方法是否有效?
有没有更好,更蟒蛇的方式来实现这一点?
此外:
每次在 GUI 应用程序的文本字段上按下一个键时都会调用此过程。