Извлечь числа из строки
Никак не могу понять как извлечь числа из строки на питоне.
Например даны даты: 1993 1994 1995 1999 1845 1876 2004 1983. Нужно преобразовать их в список (как это сделать мне понятно), а затем извлечь из него числа для дальнейших махинаций. Просто при завершении программы мне нужно получить список типа: [1845, 1876, 1983, 1993, 1994, 1995, 1999, 2004], а у меня выходит только получить [‘1993’, ‘1994’, ‘1995’, ‘1999’, ‘1845’, ‘1876’, ‘1983’, ‘2004’].
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Извлечь числа из строки
На вход подается строка вида "*####?*##*", где # — цифра, * — последовательность символов (в т.ч.
Извлечь из строки числа
Нужно извлечь из строки числа. "12/12/12" результат! day = 12; mounth = 12; year = 12; .

Как извлечь числа из строки
Предположим что есть такое выражение и оно записано в блокноте (100;200) , Как извлечь из.
Извлечь целые числа из строки
Задание: Проблема в том, что у меня получается извлечь только цифры, а нужно числа. Вот что.
Извлечь числа из строки в одну переменную
Допустим, дана строка ( string ), в которую пользователь ввел 3+5=. В данном коде, видит только.
Вытащить числа из строки файла
У меня есть входной файл где в одной строчке записаны числа 1 3 5 4 разделенные пробелом, как мне используя Python вытащить эти числа по одному, чтобы внести их в список? Потому что при использование append в список добавляется вся строка файла
d = [] with open('input.txt') as f: for i in range(4): d.append(f.read().split()) print(d)
Отслеживать
задан 12 мая 2022 в 16:57
3 2 2 бронзовых знака
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
with open('input.txt') as f: d = f.read().split() print(d) ['1', '3', '5', '4']
Отслеживать
ответ дан 12 мая 2022 в 17:09
4,365 4 4 золотых знака 8 8 серебряных знаков 22 22 бронзовых знака
Извлечение чисел из строки в Python
В программировании на Python часто возникает задача извлечения чисел из строки. Например, у вас есть строка: «привет 12345, как дела 67890?». Вашей задачей является извлечение чисел 12345 и 67890 из этой строки.
Существуют различные подходы к решению этой задачи, но два наиболее распространенных — это использование регулярных выражений и метода isdigit() .
Использование регулярных выражений
Регулярные выражения — это специальный синтаксис для работы с текстом, который позволяет искать и извлекать определенные шаблоны. В Python для работы с регулярными выражениями используется модуль re .
import re line = "привет 12345, как дела 67890?" numbers = re.findall(r'\b\d+\b', line) print(numbers)
В этом коде используется функция findall() , которая возвращает все найденные совпадения. \b\d+\b — это регулярное выражение, которое ищет последовательности цифр.
Использование метода isdigit()
Метод isdigit() является встроенным методом для строк в Python. Он проверяет, состоит ли строка только из цифр.
line = "привет 12345, как дела 67890?" numbers = ''.join(c if c.isdigit() else ' ' for c in line).split() print(numbers)
В этом коде мы проходим по каждому символу в строке и, если символ является цифрой, сохраняем его. Если символ не является цифрой, мы заменяем его на пробел. Затем мы используем метод split() , чтобы разбить строку на список чисел.
Оба подхода эффективны и могут быть использованы в зависимости от конкретной задачи и предпочтений программиста.
Как вытащить цифры из строки? Python
Здравствуйте. Предположим, есть строка
Маша съела 3567 грамм мандаринов
Как вывести на печать только 3567, используя списочное выражение?
Голосование за лучший ответ
С помощью регулярных выражений это сделать проще всего
impot re
regex_num = re.compile(‘\d+’)
regex_num.findall(text)
ivan866_zМудрец (15142) 2 года назад
она не просила использовать ‘регулярное’ выражение
Ванямба Искусственный Интеллект (224033) Иван Жердев, профессия программиста предполагает, что программист сам определяет технологии, которые он будет использовать для решения задачи. Если препод просит решить задачу не в три строки, а в 10 строк, он должен обосновать подобные расходы бюджета проекта.
↑ да, и в целом сайтик https://regex101.com/ полезен для этого 🙂
Для новичков полезен освоится в смысле ^-^
s=’Маша съела 3567 грамм мандаринов’
for i in s:
____if i.isdigit():print(i,end=»)