current_users = ["Bob", "RocK", "JeNNy", "Sara", "mike", "ROGER"]
new_users = ["rock", "Eliza", "MiKe", "roger", "StEve"]
for new_user in new_users:
if new_user.lower() in current_users:
print("The name " + new_user + " is not available.")
elif new_user.lower() not in current_users:
print("The name " + new_user + " is available.")
我有什么代码来改变上面,以使在第六和第八行列表current_users
所有名称是小写。我试过current_users.lower()
,但出现错误,AttributeError: 'list' object has no attribute 'lower'
。
要指出,我不想在列表中current_users
的名字永久改变。只有当条件测试过程。
你可以创建一个小写当前用户的副本。你也应该让一组中的成员资格的测试更好的性能:
current_users = ["Bob", "RocK", "JeNNy", "Sara", "mike", "ROGER"]
new_users = ["rock", "Eliza", "MiKe", "roger", "StEve"]
current_users_set = set(name.lower() for name in current_users)
for new_user in new_users:
if new_user.lower() in current_users:
print("The name " + new_user + " is not available.")
elif new_user.lower() not in current_users:
print("The name " + new_user + " is available.")
只需通过CURRENT_USER列表,如果匹配环发现改变为小写请参见下面的示例代码的项目。值得注意的是未经测试
for new_user in new_users:
for user in current_users:
if new_user.lower() == user :
user = user.lower()
print("The name " + new_user + " is not
available.")
if new_user.lower() not in current_users:
print("The name " + new_user + " is available.")