[闲聊] 请问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