Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 5, 2021 21:05:30

Meacronacer
Зарегистрирован: 2021-07-21
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

Как вытащить числа из строки

вот допустим у нас пользаватель задал строку, и мне нужно вытащить все числа из строки
вот такой пример:

 a = 'a3b4c2e10b1'
нужно чтоб вышел вот такой список
 d = [3, 4, 2, 10, 1]

вместо этого у меня выходит вот такой список:
 d = [3, 4, 2, 1, 0, 1]

Отредактировано Meacronacer (Авг. 5, 2021 21:06:31)

Офлайн

#2 Авг. 5, 2021 23:33:42

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1394
Репутация: +  124  -
Профиль   Отправить e-mail  

Как вытащить числа из строки

 a = 'a3b4c2e10b1'
def get_digit(s):
	out = [] # сохраняем числа
	d = '' # здесь собираем число из цифр
	for i in s: # для каждого симовола в строке s
		if i.isdigit(): #если символ цифра
			d += i# складываем в строку в переменной d
		else: # иначе
			if d:# если строка d не пустая
				out.append(int(d)) # добавляем в итоговый список,при этом преобразуя в int
				d = '' # обнуляем для следующего числа
	if d:# если в строке было последняя цифра,то добавляем в out
		out.append(int(d))
	return out # возвращаем out
print(get_digit(a))

Офлайн

#3 Авг. 6, 2021 01:58:14

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10022
Репутация: +  857  -
Профиль   Отправить e-mail  

Как вытащить числа из строки

  
>>> import re
>>> 
>>> text = 'a3b4c2e10b1'
>>> 
>>> out = list(map(int, re.findall(r'\d+', text)))
>>> out
[3, 4, 2, 10, 1]
>>>



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version