@ilezovofficial

Как проверить есть ли элемент в списке кортежей?

У меня есть список кортежей. К примеру a = [('Илья',), ('Машка',)]

Как мне проверить есть ли к примеру "Кирилл" в этом списке кортежей?
  • Вопрос задан
  • 395 просмотров
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
a = [('Илья',), ('Машка',)]
b = ('Илья',)
print(b in a)


Ладно, это была шутка.
Вот корректный код:
a = [('Илья',), ('Машка',)]
b = 'Илья'
print(any(b in c for c in a))
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Bright144
a = [('Илья',), ('Машка',)]
b = "Машка"
for i in a:
    if b in a:
        print(True)
        break

если у тебя кортедж слишком глубокий можешь использовать вот такую функцию
from functools import reduce

def check(txt, tup):
    types = [list, set, tuple]
    while tup:
        if txt in tup:
            return True
        tup = [i for i in tup if type(i) in types]
        tup = reduce(lambda x,y: list(x) + list(y), tup)
    return False


a = ((1),(2, ('asd', ('qwer', 1, "Машка"))))
b = "Машка"
print(check(b, a))
Ответ написан
Комментировать
Vindicar
@Vindicar
RTFM!
Перебрать список, проверить каждый кортеж.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы