我有這個有效的功能,但我試圖讓它盡可能短。類似于:回傳 [result(result = word[0]) for word in text]。基本上在一行中,但它似乎不起作用。
def first_letter(text):
text = text.upper().split()
result = ''
for word in text:
result = word[0]
return result
uj5u.com熱心網友回復:
def first_letter(text):
return "".join([word[0] for word in text.upper().split()])
uj5u.com熱心網友回復:
如果你想要簡短的方法,你可以使用''.join()如下:
def first_letter_2(text):
return ''.join(map(lambda x: x[0].upper(), text.split()))
uj5u.com熱心網友回復:
使用正則運算式替換甚至可以更短(忽略匯入陳述句)。
import re
def first_letter(text):
return re.sub(r"(\S)\w*\s*", r"\1", text.upper())
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/349907.html
