Задача: Множественное число

Дан список слов в единственном числе. Верните множество из этих слов в форме множественного числа, если они встречаются в списке более одного раза.

Пример:

pluralize(["cow", "pig", "cow", "cow"]) ➞ { "cows", "pig" }

pluralize(["table", "table", "table"]) ➞ { "tables" }

pluralize(["chair", "pencil", "arm"]) ➞ { "chair", "pencil", "arm" }

Примечание:

Здесь английский язык упрощен, поэтому сконцентрируйтесь только на том, добавлять или нет букву “s” к окончаниям слов.

Варианты решений:

def pluralize(lst):
	return set(i + 's'*(lst.count(i)>1) for i in lst)
def pluralize(lst):
	return {i+'s' if lst.count(i)>1 else i for i in lst}
def pluralize(lst):
	return set('{}s'.format(w) if lst.count(w) >= 2 else w for w in lst)
def pluralize(lst):
	from collections import Counter
	dict_ = Counter(lst)
	lst_out = []
	for k, v in dict_.items():
        	if v > 1:
            		lst_out.append(k+"s")
        	else:
                	lst_out.append(k)
	return set(lst_out)

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *