Сравнивание слова со списком. Python
Есть список слов [['Учитель'], ['Психотерапевт'], ['Биохимик'], ['Сексолог']] и есть слово. Допустим Биохимик. Как мне сравнить есть ли Биохимик в этом списке или нет?
n = int(input('Количество игроков: '))
i=0
while n > i:
i = i+1
with open('Proff.txt', 'r', encoding="utf-8") as source:
l = source.readlines()
word = ''
word = l[random.randint(1, len(l) - 1)]
with open('vibor.txt', 'r', encoding="utf-8") as f:
lst = [ line.split() for line in f ]
while [word] in lst:
word = l[random.randint(1, len(l) - 1)]
Ответы (2 шт):
Автор решения: Sergey Gornostaev
→ Ссылка
words = [['Учитель'], ['Психотерапевт'], ['Биохимик'], ['Сексолог']]
word = 'Биохимик'
if any(word in j for i in a for j in i):
print('Слово есть в списке')
Автор решения: MarianD
→ Ссылка
Используйте оператор in:
word = 'Биохимик'
lst = [['Учитель'], ['Психотерапевт'], ['Биохимик'], ['Сексолог']]
if [word] in lst:
print('Да.')
else:
print('Нет.')
Добавления (к добавлению вашего кода в вопрос):
Удалите лишнюю команду
word = ''Вместо сложного
word = l[random.randint(1, len(l) - 1)]примените
word = random.choice(l)После
l = source.readlines()добавите
l = [w.strip() for w in l]После
lst = [ line.split() for line in f ]добавите
lst = [w.strip() for w in lst]Вместо
while [word] in lst:примените
while word in lst: