Python | Сортировать список по длине элементов
В этой программе нам нужно принять список и отсортировать его по длине элементов, присутствующих внутри.
Примеры:
Ввод: list = ["rohan", "amy", "sapna", "muhammad",
«аакаш», «раунак», «чинмой»]
Вывод: ['amy', 'rohan', 'sapna', 'aakash', 'raunak',
«чинмой», «мухаммад»]
Ввод: list = [["баран", "мохан", "аман"], ["гаурав"],
[«Эми», «Сима», «Анкита», «Ринку»]]
Вывод: [['gaurav'], ['ram', 'mohan', 'aman'],
['amy', 'sima', 'ankita', 'rinku']]
Примечание. Первый пример состоит из строк,
длину можно рассчитать. Второй пример включает
подсписок, которые также расположены в соответствии с
длина.
Рекомендуется: сначала попробуйте свой подход в {IDE}, прежде чем переходить к решению.
Есть много способов сделать это. Кто угодно может использовать эту собственную алгоритмическую технику, но Python предоставляет нам различные встроенные функции для их выполнения. Встроенные функции включают sort () и sorted () вместе с ключевым параметром. Мы можем выполнить это двумя способами. Один из способов - отсортировать список, создав новый список, а другой - отсортировать его внутри данного списка, сэкономив место.
The syntax for sorting by creating a new list is:
sorted_list = sorted(unsorted_list, key=len)
# Python code to sort a list by creating # another list Use of sorted()def Sorting(lst): lst2 = sorted(lst, key=len) return lst2 # Driver codelst = ["rohan", "amy", "sapna", "muhammad", "aakash", "raunak", "chinmoy"]print(Sorting(lst)) |
The syntax for sorting without creating a new list is:
unsorted_list.sort(key=len)
# Python code to sort a list without # creating another list Use of sort()def Sorting(lst): lst.sort(key=len) return lst # Driver codelst = ["rohan", "amy", "sapna", "muhammad", "aakash", "raunak", "chinmoy"]print(Sorting(lst)) |
Выход:
["amy", "rohan", "sapna", "aakash", "raunak", "chinmoy", "muhammad"]
Работающий:
Эта ключевая функция Python при реализации сортировки известна как шаблон проектирования декорировать-сортировать-не украшать . Он выполняет следующие шаги:
- Каждый элемент списка временно заменяется «украшенной» версией, которая включает результат ключевой функции, примененной к элементу.
- Список отсортирован по естественному порядку ключей.
- Декорированные элементы заменены на оригинальные.
The code for sorting by creating a new dummy list is:
import numpy def Sorting(lst): # list for storing the length of each string in list lenlist=[] for x in lst: lenlist.append(len(x)) # return a list with the index of the sorted # items in the list sortedindex = numpy.argsort(lenlist) # creating a dummy list where we will place the # word according to the sortedindex list lst2 = ["dummy"]*len(lst) # print(sortedindex,lenlist) for i in range(len(lst)): # placing element in the lst2 list by taking the # value from original list lst where it should belong # in the sorted list by taking its index from sortedindex lst2[i] = lst[sortedindex[i]] return lst2 # Driver codelst = ["rohan", "amy", "sapna", "muhammad", "aakash", "raunak", "chinmoy"]print(Sorting(lst)) |
Выход:
['amy', 'rohan', 'sapna', 'aakash', 'raunak', 'chinmoy', 'muhammad']
Ссылка: stackoverflow
Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.