[閒聊] 請問list如何忽略大小寫

作者: doris15 (小馬)   2021-09-20 19:48:31
正在學習python,想要做一個串列的比較,即下列變數user的名字忽略大小寫後,有無出現在login中,目前執行到line2時,顯示AttributeError: 'list' object has no attribute 'lower',請問要如何將串列中的大小寫忽略呢?
程式碼如下
login=['Kevin','DORA','donna','amenda']login=login.lower()user=['Kevin','Dora','chris','Amedna','MARY']user=user.lower() for user in login: if user == 'amenda': print('welcom bank.') elif user not in login: print('welcom! tourist.') else: print('please register your account')謝謝。
作者: LongboardDC (薰兒和她的長板)   2021-09-20 20:13:00
login是一個list, 沒有.lower() method你可以使用list comprehension:login_lower = [x.lower() for x in login]同樣的方法可以得到user_lower你後面的for loop有logical error我假設你的目的是要檢查user_lower裡的每個名字,if名字是amanda, 印出Welcome back.elif名字在login_lower裡, 印出Welcome, tourist.else印出Please register your account.for loop應修正為:for i in user_lower:(………內部交給你修改)這樣第一次: i 為 ‘kevin’第二次: i為’dora’第三次: i為’chris’第四次: i為’amanda’第五次: i 為’mary’
作者: yiche (你若安好,便是晴天)   2021-09-20 22:27:00
list 物件沒有 lower() 這個方法,只是這樣而已,嘗試看看str這個物件有沒有lower()
作者: GTR12534 (カラス)   2021-09-21 13:36:00
串列不會有大小寫,字串才有
作者: doris15 (小馬)   2021-09-21 22:17:00
謝謝說明!找了一整天,結果在這裡一下就得到解答了!
作者: pmove (金疾檸檬)   2021-09-22 14:37:00
一天其實不算找多久 XD

Links booklink

Contact Us: admin [ a t ] ucptt.com