Напишите функцию, которая будет принимать строку и возвращать отсортированный список трехбуквенных групп. Список формируется следующим образом: берем первые три буквы строки, затем сдвигаемся на одну букву и берем следующие три буквы и т. д. Если в переданной строке меньше трех букв, нужно вернуть пустой список.
Разбор примера
three_letter_collection("python") ➞ ["hon", "pyt", "tho", "yth"]
# 1-я группа: "hon"
# 2-я группа: "pyt"
# 3-я группа: "tho"
# 4-я группа: "yth"
# Не забудьте отсортировать список!
Примеры
three_letter_collection("slap") ➞ ["lap", "sla"]
three_letter_collection("click") ➞ ["cli", "ick", "lic"]
three_letter_collection("cat") ➞ ["cat"]
three_letter_collection("hi") ➞ []
Варианты решения
def three_letter_collection(s):
return sorted(s[i:i+3] for i in range(len(s)-2))
def three_letter_collection(s):
return sorted(a+b+c for a,b,c in zip(s, s[1::], s[2::]))
def three_letter_collection(s):
length = len(s)
res = []
if length < 3:
return res
for i in range(0, length -2):
res.append(s[i:i+3])
res.sort()
return res