Как реализовать метод "lower ()" в списке? - PullRequest
0 голосов
/ 03 февраля 2019
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 постоянно менялись.Только во время проверки состояния.

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Просто переберите список 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.")
0 голосов
/ 03 февраля 2019

Вы можете создать копию текущего пользователя в нижнем регистре.Вы также должны сделать это набором для лучшей производительности в членских тестах:

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.")
...