У меня есть список, который состоит из деталей, как это:Сортировка в python - как отсортировать список, содержащий буквенно-цифровые значения?
list1 = ["1", "100A", "342B", "2C", "132", "36", "302F"]
сейчас, я хочу, чтобы отсортировать этот список, таким образом, что значения в следующем порядке:
list1 = ["1", "2C", "36", "100A", "132", "302F", "342B"]
Просто делает list1.sort()
очевидно не дает правильный ответ - это дает:
list1 = ["1", "100A", "132", "2C", "36", "302F", "342B"]
Я предполагаю, что это потому, что питон лечит все это как строки напрямую. Тем не менее, я хочу сортировать их на основе их числового значения FIRST, а затем символа, следующего за номером.
Как это сделать?
Спасибо большое :)
Просмотрите это сообщение (http://stackoverflow.com/questions/11850425/custom-python-list-sorting) и определите пользовательскую функцию сравнения. – lurker
Это называется ** натуральный сорт **. возможный дубликат [Есть ли у Python встроенная функция для строковой естественной сортировки?] (http://stackoverflow.com/questions/4836710/does-python-have-a-built-in-function-for-string-natural- sort) –