Сравните строку со строкой массив, игнорируя регистр

Я хочу сравнить строку с именем itemToReplace с строкой в ​​массиве, но игнорирую регистр (если это заглавная буква или строчная буква).

Вот код:

itemToReplace = input("Choose an item to replace: ")
if itemToReplace in self._inventory:
    # do something...

И когда я это сделаю, если пользователь введет что-то вроде "sWord" вместо "Sword", это не сработает. Так кто-нибудь знает, как это сделать?

Спасибо.

просто добавьте .upper() или .lower() в конец ввода, и это изменит регистр, чтобы вы могли справиться с этим проще

johnashu 09.03.2018 16:01

Вы хотите игнорировать регистр и другие заглавные буквы в строке? Если да, то используйте метод .lower () для нужной строки.

R.R.C. 09.03.2018 16:04
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
2
49
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Измените регистр всего ввода, выполнив.

itemToReplace = input("Choose an item to replace: ").upper() #Uppercase

или же

itemToReplace = input("Choose an item to replace: ").lower() #Lowercase
Ответ принят как подходящий

Это должно помочь.

import string
print 'sWord'.lower() in map(string.lower, ['Sword'])

Выход:

True
  1. Преобразование ввода в нижний регистр
  2. используйте метод map для преобразования всех строковых элементов в списке в более низкий и используйте in.

ему нужно изменить регистр ввода одной строки, а не списка .. Идеально для списка, но слишком много для одной строки .. конечно, если _inventory полон строк со смешанным регистром, тогда это будет идеально!

johnashu 09.03.2018 16:09

Другие вопросы по теме