Как взять число из строки в питоне
Перейти к содержимому

Как взять число из строки в питоне

Выбрать из строки числа

Дана строка, содержащая натуральные числа и слова. Необходимо сформировать список из чисел, содержащихся в этой строке. Например, задана строка «abc83 cde7 1 b 24». На выходе мы должны получить список [83, 7, 1, 24].

Следует посимвольно перебирать строку. Если очередной символ цифра, надо добавить ее в новую строку. Далее проверять символы за ней, и если они тоже цифры, то добавлять их в конец этой новой подстроки из цифр. Когда очередной символ окажется не цифрой, или будет достигнут конец строки, то надо преобразовать строку из цифр в число и добавить в список.

Обратите внимание, что данное решение извлекает именно числа, а не цифры. Иначе мы бы не получили число 78, а получили отдельно цифру 7 и цифру 8. Задача на извлечение цифр существенно проще.

Решение через цикл for:

Если в строке числа всегда отделены от слов пробелами, задача решается проще:

Здесь происходит разделение строки на слова по пробелам. В цикле с помощью метода isnumeric() каждое слово проверяется, является ли оно числом. Подобную задачу можно решить в одну строку, если использовать функцию filter().

В функцию filter() передается лямбда-выражение, проверяющее слова, и список слов. Функция возвращает список строк-чисел. Далее с помощью генератора списка строки преобразовываются в целочисленный тип.

На практике при решении подобных задач, когда надо найти и извлечь из строки что-либо, обычно пользуются регулярными выражениями. В примере ниже не обязательно, чтобы число было отделено пробелами.

Получить числа из строки python

если нужно вернуть прямо числа, а не строки с числами:

и если захочется вернуть не только целые числа:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками python или задайте свой вопрос.

Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.10.42345

Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Python | Извлечь числа из строки

Много раз, работая со строками, мы сталкиваемся с проблемой, в которой нам нужно получить все числовые вхождения. Этот тип проблемы обычно возникает в конкурентном программировании, а также в веб-разработке. Давайте обсудим некоторые способы решения этой проблемы.

Способ № 1: Использование списка понимания + isdigit() + split()
Эта проблема может быть решена с помощью функции split для преобразования строки в список, а затем понимание списка, которое может помочь нам перебрать список и функция isdigit помогает вывести цифру из строки.

# Python3 код для демонстрации
# получение чисел из строки
# использование списка понимания + isdigit () + split ()

test_string = «There are 2 apples for 4 persons»

# печать оригинальной строки

print ( «The original string : » + test_string)

# использование списка понимания + isdigit () + split ()
# получение чисел из строки

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *