Как достать числа из строки python? 🧮🐍 Научись извлекать числа из строк с помощью Python!
import re
text = "В этой строке есть 1234 и 5678 числа"
numbers = re.findall(r'\d+', text)
print(numbers)
2. С использованием метода строки split():
text = "В этой строке есть 1234 и 5678 числа"
numbers = text.split()
numbers = [int(num) for num in numbers if num.isdigit()]
print(numbers)
В обоих случаях будет получен список чисел: [1234, 5678].
Детальный ответ
Как достать числа из строки в Python
При работе с программированием часто возникает необходимость извлечь все числа из строки в Python. Ниже будет подробно описано несколько способов, как это можно сделать.
Использование регулярных выражений
Регулярные выражения являются мощным инструментом для обработки текста. Они позволяют выполнять поиск и извлечение определенных шаблонов в строках. Для извлечения чисел из строки в Python можно воспользоваться модулем re
, который предоставляет функционал для работы с регулярными выражениями.
Ниже приведен пример использования регулярных выражений для извлечения чисел из строки:
import re
string = "Встретил 3 кошек и 5 собак"
numbers = re.findall(r'\d+', string)
for number in numbers:
print(number)
В данном примере, мы использовали метод findall()
из модуля re
с регулярным выражением r'\d+'
. Это регулярное выражение ищет последовательности цифр в строке. Результатом будет список чисел, найденных в строке.
Разделение строки по разделителю
Если числа в строке разделены определенным символом, например пробелом, запятой или точкой с запятой, можно воспользоваться методом split()
для разделения строки на подстроки и дальнейшего извлечения чисел. Результатом будет список подстрок, которые представляют собой числа.
Ниже приведен пример использования метода split()
для извлечения чисел из строки, разделенной пробелами:
string = "Встретил 3 кошек и 5 собак"
words = string.split()
for word in words:
if word.isdigit():
print(word)
В данном примере, мы использовали метод split()
без указания разделителя, что приводит к разделению строки по пробелам. Затем мы проверяем каждое слово с помощью метода isdigit()
, и если оно является числом, выводим его.
Использование генераторов списков
Генераторы списков - это эффективный способ создания списка на основе каких-либо условий. Можно использовать генераторы списков для извлечения чисел из строки в Python.
Ниже приведен пример использования генератора списка для извлечения чисел из строки:
string = "Встретил 3 кошек и 5 собак"
numbers = [word for word in string.split() if word.isdigit()]
for number in numbers:
print(number)
В данном примере, мы использовали генератор списка для извлечения чисел из строки. Мы разделили строку на слова с помощью метода split()
, а затем, используя условие if word.isdigit()
, выбрали только те слова, которые являются числами.
Использование библиотеки NumPy
Если среди данных есть массив чисел, можно воспользоваться библиотекой NumPy для их извлечения. Библиотека NumPy предоставляет множество функций для работы с числами и массивами.
Ниже приведен пример использования библиотеки NumPy для извлечения чисел из строки:
import numpy as np
string = "1, 2, 3, 4, 5"
numbers = np.fromstring(string, dtype=int, sep=',')
for number in numbers:
print(number)
В данном примере, мы использовали функцию fromstring()
из библиотеки NumPy для преобразования строки в массив чисел. Мы указали разделитель "," с помощью аргумента sep=','
. Результатом будет массив чисел из строки.
Вывод
В данной статье были представлены несколько способов извлечения чисел из строки в Python. Вы можете выбрать подходящий метод в зависимости от ваших потребностей и структуры данных. Использование регулярных выражений, разделение строки по разделителю, генераторы списков и библиотека NumPy - все эти подходы могут быть полезными в различных ситуациях.