Как отсортировать числа в строке Python: простой метод в действии
строка = "5 9 3 1 7"
отсортировано = sorted(строка.split(), key=int)
print(отсортировано)
Этот код разделит строку "5 9 3 1 7" на отдельные числа, отсортирует их как целые числа и выведет отсортированный список. В итоге вы получите:
[1, 3, 5, 7, 9]
Детальный ответ
Как отсортировать числа в строке Python
В Python вы можете отсортировать числа в строке с помощью нескольких способов. В этой статье мы рассмотрим два основных подхода: использование регулярных выражений и использование встроенных функций и методов.
Использование регулярных выражений
Первый способ - использовать регулярные выражения для извлечения чисел из строки и затем их сортировки. Для этого нам понадобится модуль re
. Вот как это делается:
import re
def sort_numbers_in_string(string):
numbers = re.findall(r'\d+', string)
sorted_numbers = sorted(numbers, key=int)
return sorted_numbers
# Пример использования
string = "abc123def456ghi789"
sorted_numbers = sort_numbers_in_string(string)
print(sorted_numbers)
В этом примере мы используем функцию re.findall()
для извлечения всех чисел из строки. Затем мы сортируем полученный список чисел с помощью встроенной функции sorted()
и передаем параметр key=int
для сортировки чисел как целых чисел.
Вывод программы будет:
['123', '456', '789']
Использование встроенных функций и методов
Второй способ - использовать встроенные функции и методы Python для отсортировки чисел в строке. Вот один из вариантов решения:
def sort_numbers_in_string(string):
numbers = [int(s) for s in string.split() if s.isdigit()]
sorted_numbers = sorted(numbers)
return sorted_numbers
# Пример использования
string = "abc 123 def 456 ghi 789"
sorted_numbers = sort_numbers_in_string(string)
print(sorted_numbers)
В этом примере мы используем метод split()
для разделения строки на отдельные слова. Затем мы используем генератор списка вместе с условием isdigit()
, чтобы получить только числа из списка слов. Затем мы сортируем полученный список чисел с помощью встроенной функции sorted()
.
Вывод программы будет:
[123, 456, 789]
Заключение
Теперь вы знаете два способа отсортировать числа в строке в Python. Вы можете выбрать подход, который лучше подходит для вашей конкретной задачи. Удачи в программировании!