Вопрос про if в списке

Вкратце, такая задача: есть список животных в зоопарке. Если совпадает тип и разный гендер, то вывести i из animals

Такой код получился у меня:

f = open('input.txt', 'r')
animals = f.readlines()

animal = []
for i in animals:
    animal.append([i])

animals = [animal[j][0].split(", ") for j in range(len(animal))]

types = []
gender = []
for i in animals:
     types.append(i[1])
     gender.append(i[2])
       if .........?:
       print(i)

Должен быть вывод:

['1', 'cat', 'male', 'goroh', '01.01.2012', '02.12.2015\n']
['3', 'cat', 'female', 'goroh', '01.01.2012', '02.12.2015\n']
['4', 'elephant', 'male', 'goroh', '01.01.2012', '02.12.2015\n']
['7', 'elephant', 'female', 'goroh', '01.01.2012', '02.12.2015']

Я сделал отдельные списки для гендера и типа, но не понимаю, что с ним дальше делать. Перепробовал разные условия. Если нужно, то могу добавить к коду. Но это будет просто посмеяться. Как реализовать такую задачу?

Текстовый файл:

1, cat, male, goroh, 01.01.2012, 02.12.2015
2, dog, male, goroh, 01.01.2012, 02.12.2015
3, cat, female, goroh, 01.01.2012, 02.12.2015
4, elephant, male, goroh, 01.01.2012, 02.12.2015
5, tiger, male, goroh, 01.01.2012, 02.12.2015
6, gepard, male, goroh, 01.01.2012, 02.12.2015
7, elephant, female, goroh, 01.01.2012, 02.12.2015

Ответы (1 шт):

Автор решения: DwayneBarry

Ну если ты знаешь, что у тебя максимум 1 пара животных, то мой код будет работать:

with open('input.txt') as f:
    animals = f.readlines()

    animal = []
    for i in animals:
        animal.append([i])

    animals = [animal[j][0].split(", ") for j in range(len(animal))]

    animals = sorted(animals, key=lambda x: x[1]) # сортируем животных по именам, чтобы если были 2 одинаковых, то они шли друг за другом
    oldAnimal = 'Тут должны быть не менее трёх любых символов'# тут просто создаём переменную, и чтобы компилятор не ругался на [1] или [2], делаем переменную строкой
    for animal in animals:
        if animal[1] == oldAnimal[1] and animal[2] != oldAnimal[2]:
            print(oldAnimal)
            print(animal)
        oldAnimal = animal
→ Ссылка