Содержит фрагмент слова в массиве (Python) - PullRequest
0 голосов
/ 30 мая 2020

Я не знаю, с чего начать спрашивать, но вот примерный код, что я собираюсь делать

arr = ['cat', 'dog']
if('housecat' not in arr):
        return TRUE
else return FALSE

Я хочу, чтобы он возвращался как ИСТИНА, потому что 'cat' находился в массиве, пока 'housecat' содержит 'cat'.

== Edit ==

Я пробовал предложенный код

arr = ['cat', 'dog']
for i in arr:
        if(i not in 'housecat'):
                return TRUE
        else return FALSE

Он возвращается как ИСТИНА, как и предполагалось, но если есть символ во входных данных (например: дом-кошка, кошка.I (проверено только с этими двумя символами, потому что ввод автоматизирован)) он вернет ЛОЖЬ, что должно быть ИСТИНА (потому что в доме-'кошка' есть 'кошка') .

Редактировать 3: Должно быть возвращено как ИСТИНА, а не ЛОЖЬ, моя ошибка, отредактировал весь текст.

Редактировать 4: Дело закрыто, ошибка появилась, когда я запустил весь код, и в нем ничего нет что делать с этим делом.

Ответы [ 3 ]

0 голосов
/ 30 мая 2020

вы можете это сделать.

arr = ['cat', 'dog']
for item in arr:
  if item in "housecat":
      # do something
0 голосов
/ 30 мая 2020

Один лайнер

arr = ['cat', 'dog']
is_housecat = lambda x: not any([i in 'housecat' for i in arr])

print(is_housecat(arr))

Вывод

Ложь

0 голосов
/ 30 мая 2020

попробуйте это.

arr = ['cat', 'dog']
    for i in arr:
        if (i in 'housecat'):
            return false
    return true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...