[英]How to make this more Pythonic or readable for the future?
我有一個由_
的多個單詞的字符串(例如hello_my_name_is_john_doe_good_day
)。 我想把這個字符串轉換成John Doe
樣子。
我目前有
tempStr0 = "hello_my_name_is_john_doe_good_day"
tempStr1 = tempStr0.split("_")[4:6]
tempStr2 = (tempStr1[0][0].upper() + tempStr1[0][1:] + " " + tempStr1[1][0].upper() + tempStr1[1][1:])
print(tempStr2)
# John Doe
這顯然是可行的,但看起來很丑。 誰能提出一些建議,說明我如何清理它,使其在將來變得更加Python化和易讀?
我們可以使用.title()
來處理各個子字符串,並使用' '.join(..)
將它們連接在一起,例如:
tempStr2 = ' '.join(sube.title() for sube in tempStr1)
這將大寫每個單詞。 由於子元素可能是單個單詞,因此我們也可以使用.capitalize()
:
# alternative
tempStr2 = ' '.join(sube.capitalize() for sube in tempStr1)
不錯的是,如果tempStr1
包含多個元素,它也會添加這些單詞,並用空格分隔。
此外, .title()
和.capitalize()
也比手動執行字符串操作更安全:如果字符串為空,則它們仍將起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.