簡體   English   中英

如何在未來使它變得更Python化或更具可讀性?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM