检测元素是否已经存在列表中,并且不区分大小写作比较,以下是Python 字符串忽略大小写的比较方法, 实现列表元素独一无二,可在操作前把字符串转换成同样大写 upper() 或同样小写 lower()
lists = ['login','A mUltiCased string','useR2_C_c','bilbil','cilcil']
new_lists = ['Login','A multicased sTring','UseR2_c_C','cilcil','dildil']
for list in lists:
list_lower = list.lower()
for new_list in new_lists:
new_list_lower = new_list.lower()
if new_list_lower == list_lower:
print('用户名"' + new_list + '"已被占用')
if new_list_lower != list_lower:
print('用户名"' + new_list + '"可注册')
效果:
用户名"Login"已被占用
用户名"A multicased sTring"已被占用
用户名"UseR2_c_C"已被占用
用户名"cilcil"已被占用
用户名"dildil"可注册
或者
current_users = ['admin','user1','user2','user3','user4']
new_users = ['aDmin','user1','user5','user6','user7']
for user in new_users:
if user in current_users or user.lower() in current_users or user.title() in current_users or user.capitalize() in current_users or user.upper() in current_users:
print('用户名' + user + '已被注册,请尝试其他用户名!')
else:
print('恭喜,没有人使用' + user + ',您可以注册!')
或者(代码最少)
current_users = ['admin','user1','user2','user3','user4']
new_users = ['aDmin','user1','user5','user6','user7']
for user in new_users:
if user.lower() in [current_user.lower() for current_user in current_users]:
print('用户名' + user + '已被注册,请尝试其他用户名!')
else:
print('恭喜,没有人使用' + user + ',您可以注册!')
效果:
用户名aDmin已被注册,请尝试其他用户名!
用户名user1已被注册,请尝试其他用户名!
恭喜,没有人使用user5,您可以注册!
恭喜,没有人使用user6,您可以注册!
恭喜,没有人使用user7,您可以注册!
capitalize() 与 title() 都是使字符串首字母大写,主要区别:title作用于整个字符串内的单词的首字母大写,capitalize只有整个字符串的第一个字母大写。
lists = ['login','A mUltiCased string','useR2_C_c']
for list in lists:
print('\n' + list)
print(list.lower() + ' 小写')
print(list.upper() + ' 大写')
print(list.title() + ' 字符串内的单词的首字母大写')
print(list.capitalize() + ' 字符串的第一个字母大写')
效果:
login
login 小写
LOGIN 大写
Login 字符串内的单词的首字母大写
Login 字符串的第一个字母大写
A mUltiCased string
a multicased string 小写
A MULTICASED STRING 大写
A Multicased String 字符串内的单词的首字母大写
A multicased string 字符串的第一个字母大写
useR2_C_c
user2_c_c 小写
USER2_C_C 大写
User2_C_C 字符串内的单词的首字母大写
User2_c_c 字符串的第一个字母大写
0 条评论