Я также решил этот вопрос с помощью Python, хотя моя версия делает некоторые дополнительные вещи, вот мой код:
def answer(l):
list1 = [] # this is the list for the nested strings
for x in l:
list1.append(x.split("."))
list2 = [] # this is the same list as list one except everything is an integer in order for proper sorting
for y in list1:
y = map(int, y)
list2.append(y)
list3 = sorted(list2) #this is the sorted list of of list 2
FinalList = [] # this is the list that converts everything back to the way it was
for a in list3:
a = '.'.join(str(z) for z in a)
FinalList.append(a)
return FinalList
Для версий существует три вещи; Майор, минор и ревизия. То, что это делает, - то, что это организует это так, чтобы '1'
предшествовал '1.0'
, который предшествует '1.0.0'
. Кроме того, еще один плюс, нет необходимости импортировать какие-либо библиотеки, если у вас их нет, и он работает со старыми версиями Python, этот был специально предназначен для версии 2.7.6. Во всяком случае, вот несколько примеров:
Inputs:
(string list) l = ["1.1.2", "1.0", "1.3.3", "1.0.12", "1.0.2"]
Output:
(string list) ["1.0", "1.0.2", "1.0.12", "1.1.2", "1.3.3"]
Inputs:
(string list) l = ["1.11", "2.0.0", "1.2", "2", "0.1", "1.2.1", "1.1.1", "2.0"]
Output:
(string list) ["0.1", "1.1.1", "1.2", "1.2.1", "1.11", "2", "2.0", "2.0.0"]
Если у вас есть какие-либо вопросы, просто прокомментируйте ответ !!