Поиск элементов списка, что встречаются один раз при помощи рекурсии

279 просмотра
0

Решаю следующую задачу:
Дан список.
Написать рекурсивную функцию f (list), что выводит элементы, встречающиеся в списке, больше чем один раз:

list = input("Введите список элементов через пробел)").split(" ")
def f(list):
    b = ""
    for i in range(1, len(list)):

А дальше, я не знаю что писать. Думал сделать два вложенных цикла и перебирать элементы, но что делать если я нашел/не нашел похожий элемент?
Каким боком тут рекурсию вставлять и обрезать список?
Буду очень благодарен за любую помощь!


Добавить комментарий

1 Ответы

Python Опубликовано 14.12.2018
0

def split_and_count(collection, result=None):
    if result is None:
        result = {}
    try:
        key = collection.pop()
        try:
            result[key] += 1
        except KeyError:
            result[key] = 1
        return split_and_count(collection, result)
    except IndexError:
        return result
 
elements = input("Введите список элементов через пробел: ").split(" ")
 
result = split_and_count(elements)
 
for key in result.keys():
    if result[key] > 1:
        print("{0:s} : {1:d}".format(key, result[key]))

Добавить комментарий
Напишите свой ответ на данный вопрос.
Scroll Up