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

看板Python作者 (小馬)時間2年前 (2021/09/20 19:48), 編輯推噓4(4018)
留言22則, 5人參與, 2年前最新討論串1/1
正在學習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')謝謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.10.58.80 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1632138513.A.163.html

09/20 20:13, 2年前 , 1F
login是一個list, 沒有.lower() method
09/20 20:13, 1F

09/20 20:14, 2年前 , 2F
你可以使用list comprehension:
09/20 20:14, 2F

09/20 20:14, 2年前 , 3F
login_lower = [x.lower() for x in login]
09/20 20:14, 3F

09/20 21:05, 2年前 , 4F
同樣的方法可以得到user_lower
09/20 21:05, 4F

09/20 21:05, 2年前 , 5F
你後面的for loop有logical error
09/20 21:05, 5F

09/20 21:06, 2年前 , 6F
我假設你的目的是要檢查user_lower裡的每個名字,
09/20 21:06, 6F

09/20 21:06, 2年前 , 7F
if名字是amanda, 印出Welcome back.
09/20 21:06, 7F

09/20 21:06, 2年前 , 8F
elif名字在login_lower裡, 印出Welcome, tourist.
09/20 21:06, 8F

09/20 21:06, 2年前 , 9F
else印出Please register your account.
09/20 21:06, 9F

09/20 21:07, 2年前 , 10F
for loop應修正為:
09/20 21:07, 10F

09/20 21:07, 2年前 , 11F
for i in user_lower:
09/20 21:07, 11F

09/20 21:07, 2年前 , 12F
(………內部交給你修改)
09/20 21:07, 12F

09/20 21:08, 2年前 , 13F
這樣第一次: i 為 ‘kevin’
09/20 21:08, 13F

09/20 21:08, 2年前 , 14F
第二次: i為’dora’
09/20 21:08, 14F

09/20 21:08, 2年前 , 15F
第三次: i為’chris’
09/20 21:08, 15F

09/20 21:08, 2年前 , 16F
第四次: i為’amanda’
09/20 21:08, 16F

09/20 21:08, 2年前 , 17F
第五次: i 為’mary’
09/20 21:08, 17F

09/20 22:27, 2年前 , 18F
list 物件沒有 lower() 這個方法,只是這樣而已,嘗試看看s
09/20 22:27, 18F

09/20 22:27, 2年前 , 19F
tr這個物件有沒有lower()
09/20 22:27, 19F

09/21 13:36, 2年前 , 20F
串列不會有大小寫,字串才有
09/21 13:36, 20F

09/21 22:17, 2年前 , 21F
謝謝說明!找了一整天,結果在這裡一下就得到解答了!
09/21 22:17, 21F

09/22 14:37, 2年前 , 22F
一天其實不算找多久 XD
09/22 14:37, 22F
文章代碼(AID): #1XI7KH5Z (Python)