У меня есть несколько списков, которые упорядочены по важности. Мне нужно сделать сортировку в этом списке. Важно то, что фамилия в списке важна. Если в списке есть два имени, как фамилия, тогда сначала следует печатать фамилию. Также мне нужно убедиться, что после сортировки регистр алфавитов не изменится.Сортировка имен в списке по порядку важности
>>> mylist = ["Ramesh G","K V R Santhosh","Srikanth T G", "R V Laxaman","Ramesh Ghosh"]
>>> mylist.sort()
>>> for x in sorted(mylist):
... print x
...
K V R Santhosh
R V Laxaman
Ramesh G
Ramesh Ghosh
Srikanth T G
В вышеприведенном сортировкой я получаю «Рамеш G» напечатан первый, и мое требование к печати «Рамеш Гош» До «Рамеш G», как показано ниже:
K V R Santhosh
R V Laxaman
Ramesh Ghosh
Ramesh G
Srikanth T G
Спасибо вам
Мне удалось написать код для сортировки имени по фамилии, но до сих пор не удалось выяснить, как печатать фамилию перед любым подобным именем в списке после сортировки.
#!/bin/python
# sort a list of names by last name
import operator
data = input ("Enter the list: ")
data_as_lists = [ line.split() for line in data ]
data_as_lists.sort(key=operator.itemgetter(-1))
for each_item in data_as_lists :
print " ".join(each_item)
Этот код выводит на выход, как показано ниже:
python sort_name.py
Enter the list: ["Ramesh G","K V R Santhosh","Srikanth T G", "R V Laxaman","Ramesh Ghosh"]
Ramesh G
Srikanth T G
Ramesh Ghosh
R V Laxaman
K V R Santhosh
Нужный выход, который я хочу должен быть таким:
python sort_name.py
Enter the list: ["Ramesh G","K V R Santhosh","Srikanth T G", "R V Laxaman","Ramesh Ghosh"]
Ramesh Ghosh
Ramesh G
Srikanth T G
R V Laxaman
K V R Santhosh
Спасибо за ваш вклад В случае ниже он не для печати результата в соответствии с требованием. >>> MyList = [ "Аланы", "аланы", "аланы", "аланы", "аланы", "аланы", "аланы", "аланы", "аланы",» АЛАН "] >>> mylist.sort (CMP = mycmp) >>> печать "\ п" .join (MyList) Алан AlAn Алан Аланы Алан Алан Алан Алан Алан Алан Желаемый выход должен быть таким: ["alAN", "aLaN", " aLAn "," AlaN "," AlAn "," ALan "," alaN "," alAn "," aLan "," Alan "] – PratapSingh
@PratapSingh изменяет функцию cmp в соответствии с вашим требованием, я показал пример того, как это можно сделать –