qq_51028683 2023-04-01 16:04 采纳率: 100%
浏览 13
已结题

python入门问题之使用多个列表

python入门问题
问题是在读取列表的时候不区分大小写,就是说只要两个列表中元素大小写相等就要排除,原题如下:
创建一个至少包含5个用户名的列表,并将其命名为 current_users
再创建一个包含5个用户名的列表,将其命名为 new_users,并确保其中有一个两个用户名也包含在列表 current_users中
遍历列表 new_users,对于其中的每个用户名,都检查它是否已被使用。 如果是,就打印一条消息,指出需要输入别的用户名;否则,打印一条消息,指出这个用户名未被使用。
确保比较时不区分大小写。 换句话说,如果用户名‘John’已被使用,应拒绝用户名‘JOHN’
我做的是这样的:


current_users = ['WANGBING','zhaosi','admin','litian','bin','qingtian']
current_users1 = []
for current_user in current_users:
   current_users1.append(current_user.upper())
new_users = ['zhaosi','wangbing','lixiang','zhangning','LITIAN']
for new_user in new_users:
       if  new_user.upper() in  current_users1:
               print('you need to write anther name')
       else:
               print('you can use it for name.') 


我在练习前做了一个副本储存大写信息,方便之后比较
网上做的:



```python
current_users = ['li','lo','lu','ly','ln']
new_users =['li','lo','km','kl','kh']
for user in new_users:
    if user.lower() in [current_user.lower() for current_user in current_users]:               
        print('该用户名已被使用,请输入别的用户名')
    else:
        print('该用户名未被使用')

我想知道 if语句中是啥意思,为什么大写和遍历能同时进行不报错,还有我做的行不行,做副本肯定是增加成本了,还有其他我能看懂的方法嘛?

  • 写回答

2条回答 默认 最新

  • OldHello 2023-04-01 16:30
    关注

    if语句展开后和你的写法没太大区别,你是用大写判断,它是用小写判断,这是python里的一种独特写法,你可以搜一下python列表推导式学习一下.

    [current_user.lower() for current_user in current_users] 这里展开结果就是遍历current_users列表,把里面的每一项都变成小写,然后返回一个列表.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月10日
  • 已采纳回答 4月2日
  • 创建了问题 4月1日

悬赏问题

  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?