2016-11-20 41 views
0

我試圖根據用戶輸入檢查一個條目是否在列表中,而不管輸入是大寫字母還是小寫字母的組合。假設我在我的名單中有電視節目名稱「陌生的事物」。即使用戶輸入「st」,「St」,「ST」或「sT」,我也想從列表中打印「陌生事物」。檢查條目是否在列表中,無論它是大寫還是小寫:python

我想我應該得到.lower()的輸入,但是這是否意味着我必須使用.lower()來轉換列表中的所有字符串?如果是這樣,我該如何處理我的清單中的大量數據?

回答

0

你既可以將列表轉換爲全部小寫的話,或者你可以做這樣的事情:

shows = ['Stranger Things', 'The Office', 'Show 3', 'etc'] 
if word in map(shows, str.lower): 
    {do something} 

如果你需要保留兩個「正確」的版本(例如「奇怪的事情」),以及作爲所有小寫版本,您可以創建一個字典並將小寫版本存儲爲鍵和大寫版本作爲值。通過這種方式,您可以看到演出是否在shows字典中,並獲得「正確」版本。一個例子是:

shows = {"stranger things": "Stranger Things", "the office": "The Office", "show 3": "Show 3"} 
if word in shows.keys(): 
    print(shows[word]) # prints the proper version of the word 
相關問題