При помощи Python опишите функцию bubble(list1), которая на вход принимает некий список list1 произвольной длины, состоящий из элементов строкового типа, и возвращает этот список, отсортированный по длине его элементов (первом месте идут элементы с меньше длиной). Например, список вида [‘test’,’test1′, ‘Python’, ‘I’] должен быть отсортирован таким образом [‘I’, ‘test’, ‘test1’, ‘Python’]
python
def bubble(list1):
n = len(list1)
for i in range(n):
for j in range(0, n-i-1):
if len(list1[j]) > len(list1[j+1]):
list1[j], list1[j+1] = list1[j+1], list1[j]
return list1
В данной функции переменная n равна длине списка, а вложенный цикл содержит сравнение и перестановку элементов. Функция возвращает отсортированный список.
Протестируем функцию на примере из условия:
python
list1 = ['test','test1', 'Python', 'I']
sorted_list = bubble(list1)
print(sorted_list)
Результат выполнения будет:
['I', 'test', 'test1', 'Python']
В полученном отсортированном списке элементы располагаются в порядке возрастания их длин, начиная с самого короткого элемента, а в конце списка находится самый длинный элемент.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет