作者doris15 (小马)
看板Python
标题[闲聊] 请问list如何忽略大小写
时间Mon Sep 20 19:48:31 2021
正在学习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://webptt.com/cn.aspx?n=bbs/Python/M.1632138513.A.163.html
1F:推 LongboardDC: login是一个list, 没有.lower() method 09/20 20:13
2F:→ LongboardDC: 你可以使用list comprehension: 09/20 20:14
3F:→ LongboardDC: login_lower = [x.lower() for x in login] 09/20 20:14
4F:推 LongboardDC: 同样的方法可以得到user_lower 09/20 21:05
5F:→ LongboardDC: 你後面的for loop有logical error 09/20 21:05
6F:→ LongboardDC: 我假设你的目的是要检查user_lower里的每个名字, 09/20 21:06
7F:→ LongboardDC: if名字是amanda, 印出Welcome back. 09/20 21:06
8F:→ LongboardDC: elif名字在login_lower里, 印出Welcome, tourist. 09/20 21:06
9F:→ LongboardDC: else印出Please register your account. 09/20 21:06
10F:→ LongboardDC: for loop应修正为: 09/20 21:07
11F:→ LongboardDC: for i in user_lower: 09/20 21:07
12F:→ LongboardDC: (………内部交给你修改) 09/20 21:07
13F:→ LongboardDC: 这样第一次: i 为 ‘kevin’ 09/20 21:08
14F:→ LongboardDC: 第二次: i为’dora’ 09/20 21:08
15F:→ LongboardDC: 第三次: i为’chris’ 09/20 21:08
16F:→ LongboardDC: 第四次: i为’amanda’ 09/20 21:08
17F:→ LongboardDC: 第五次: i 为’mary’ 09/20 21:08
18F:推 yiche: list 物件没有 lower() 这个方法,只是这样而已,尝试看看s 09/20 22:27
19F:→ yiche: tr这个物件有没有lower() 09/20 22:27
20F:→ GTR12534: 串列不会有大小写,字串才有 09/21 13:36
21F:→ doris15: 谢谢说明!找了一整天,结果在这里一下就得到解答了! 09/21 22:17
22F:推 pmove: 一天其实不算找多久 XD 09/22 14:37