解决Python列表字符不区分大小写的问题

有时候,我们需要检测一个元素是否已经存在列表中,并且不区分大小写,如:列表已有元素Mary,那我们想认为MARY也已经被占用。这个例子在实际编程中会用到很多,比如保证网站注册用户独一无二、邮件姓名独一无二等等。

下边列子将实现使得列表元素独一无二功能:

创建一个列表有若干个元素,命名为current_users。

再创建一个包含若干元素的列表,命名为new_users,bi确保其中有一两个元素包含在列表current_users中。

遍历new_users列表中元素,检测是否被使用。如果是,则打印用户名已经被使用;否则,则打印用户名有效。

current_users = ['lily', 'John', 'mary', 'maria', 'admin']
new_users = ['david', 'Admin', 'JOHN', 'emma']

for new_user in new_users:
  if new_user.lower() in [current_user.lower() for current_user in current_users]:
    print("设置用户名已被使用,请更换其他用户名")
  else:
    print('您好!您设置的用户名有效')

输出结果为:

您好!您设置的用户名有效
设置用户名已被使用,请更换其他用户名
设置用户名已被使用,请更换其他用户名
您好!您设置的用户名有效

输出结果识别到Admin和JOHN和current_users列表中John和admin相同,达到使得列表元素独一无二(不区分大小写)功能。

以上这篇解决Python列表字符不区分大小写的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • PyCharm代码提示忽略大小写设置方法

    如图: 具体见上图! 以上这篇PyCharm代码提示忽略大小写设置方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python实现将字符串的首字母变为大写,其余都变为小写的方法

    利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字. 思路:使用capitalize()函数将字符串的首字母转为大写,其余变为小写 L1 = ['AdmIn','anny','LUCY','sandY','wILl'] def normallize(name): return name.capitalize() L2 = list(map(normallize,L1)) print(L2) 打印如下: ['Admin', 'Anny', 'Lucy', 'San

  • python 输出所有大小写字母的方法

    用一行输出所有大(小)写字母,以及数字,首先要记住该字母所对应的ASCII码,百度一下就可以看到,ASCII可显示字符 (这里只列举数字和字母) 二进制 十进制 十六进制 图形 0011 0000 48 30 0 0011 0001 49 31 1 0011 0010 50 32 2 0011 0011 51 33 3 0011 0100 52 34 4 0011 0101 53 35 5 0011 0110 54 36 6 0011 0111 55 37 7 0011 1000 56 38 8

  • 解决Python列表字符不区分大小写的问题

    有时候,我们需要检测一个元素是否已经存在列表中,并且不区分大小写,如:列表已有元素Mary,那我们想认为MARY也已经被占用.这个例子在实际编程中会用到很多,比如保证网站注册用户独一无二.邮件姓名独一无二等等. 下边列子将实现使得列表元素独一无二功能: 创建一个列表有若干个元素,命名为current_users. 再创建一个包含若干元素的列表,命名为new_users,bi确保其中有一两个元素包含在列表current_users中. 遍历new_users列表中元素,检测是否被使用.如果是,则打

  • 解决python列表list中的截取问题

    List(列表)作为python中使用最频繁的数据类型,如果能够把列表掌握,那么对于Python的掌握是有很大帮助的. 并且列表的元素的值是可以修改的 List的格式:(列表中的元素可以是字符串类型,也可以是数字类型,布尔型等等) #Author:LJZ list=['123','abc',0,True] for i in range(4): x=list[i] print(x) 执行结果: 123 abc 0 True 对于列表的截取操作(这个操作里面有一些细节,下面我总结了一下) 注意:列表

  • 解决python文件字符串转列表时遇到空行的问题

    文件内容如下: Alex 100000 Rain 80000 Egon 50000 Yuan 30000 #此处有一个空行! 现在看如何处理并转成列表! salary_info = open("salaryinfo.txt", "r+", encoding="UTF-8") salary_info_list = [] for line in salary_info.readlines(): if line == '\n': pass else:

  • Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】

    本文实例讲述了Python列表list操作符.分享给大家供大家参考,具体如下: #coding=utf8 ''''' 列表也可以使用比较操作符,比较时更加ASCII进行比较的. 比较列表时也用内建函数cmp()函数: 两个列表的元素分别比较,直到有一方胜出. 元组进行比较操作时和列表遵循相同的逻辑. 列表的切片操作和字符串的切片操作很像, 不过列表的切片操作返回的是一个对象或者几个对象的集合. 列表的切片操作也遵循从正负索引规则,也有开始索引值,结束索引值, 如果这两个值为空,默认为序列的开始和

  • 解决python字典对值(值为列表)赋值出现重复的问题

    可能很少有人遇到这个问题,网上也没找到,这里记录一下,希望也可以帮到其他人. 问题描述:假设有一个字典data,其键不定,可能随时添加键(这不是关键),某一个键下面对应的值为一个长度为10的list,初始化为0,然后我想修改某些键下面的列表中的某一个值,比如data有一个键'k',对应的值为[0,0,0,0,0,0,0,0,0,0],现在我想把键'k'对应的列表的第三个数改成3,即[0,0,3,0,0,0,0,0,0,0],可是意外的事情发生了,如果data还有一个键'k1',假设其值为[0,0

  • 解决Python下json.loads()中文字符出错的问题

    Python:2.7 IDE:Pycharm5.0.3 今天遇到一个问题,就是在使用json.load()时,中文字符被转化为Unicode码的问题,解决方案找了半天,无解.全部代码贴出,很简单的一个入门程序,抓的是有道翻译的,跟着小甲鱼的视频做的,但是他的版本是python3.4,所以有些地方还需要自己改,不多说,程序如下: import urllib#python2.7才需要两个urllib url="http://fanyi.youdao.com/translate?smartresult

  • 解决python写入带有中文的字符到文件错误的问题

    在python写脚本过程中需要将带有中文的字符串内容写入文件,出现了报错的现象. ---------------------------- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128) ---------------------------- 经过网上搜索出错原因得到结果: python中如果使用系统默认的open方法打开的文件只能写入asc

  • 解决python给列表里添加字典时被最后一个覆盖的问题

    如下所示: >>> item={} ; items=[] #先声明一个字典和一个列表,字典用来添加到列表里面 >>> item['index']=1 #给字典赋值 >>> items.append(item) >>> items [{'index': 1}] #添加到列表里面复合预期 >>> item['index']=2 #现在修改字典 >>> item {'index': 2} #修改成功 &g

  • 解决Python使用列表副本的问题

    要使用一个列表的副本,要用切片进行列表复制,这样会形成两个独立的列表. 切记不要将列表赋值给一个列表,因为这样并不能得到两个列表. 1.使用赋值语法创建列表副本的问题 下边就将列表赋值,验证是否形成独立的列表: squares = list(range(1, 11)) print('squares原始值为:', end='') print(squares) # 使用列表赋值 numbers_squares = squares print('numbers_squares所有元素为:', end=

  • Python 解决空列表.append() 输出为None的问题

    想要实现的功能 空列表中添加数 原代码: FitnessBest = [] FitnessBest = FitnessBest.append(fitnessVal[0, 0]) print(FitnessBest) 输出: None 解决办法 分析: 一定要注意!append方法只是在恰当的位置修改原来的列表!!! 这意味着,他不是返回一个列表,而只是修改原来的列表,所以如果用 等式 输出的话,返回是None ,也就意味着不会又返回值!! 也就是说,去掉返回值即可得到新的列表! 修改后代码: F

随机推荐