Уведомления

Группа в Telegram: @pythonsu

#1 Март 15, 2014 07:34:40

zahar
Зарегистрирован: 2013-07-15
Сообщения: 39
Репутация: +  3  -
Профиль   Отправить e-mail  

Подскажите list 2 int

Здравствуйте. Подскажите новичку

Регуляркой

string = re.findall('[\d]+L', str(list))
получаю значение
 ['1920L']
Нужно отсечь букву и перевести цифровые значение в int для последующих математических операций.

Как вариант букву отсекал:
time = str(string).replace('L', '')
Но вот далее застрял…. Как такой список перевести в int

Офлайн

#2 Март 15, 2014 08:14:33

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Подскажите list 2 int

>>> v=['1920L']
>>> v[0].rstrip('L')
'1920'
>>> int(v[0].rstrip('L'))



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Март 15, 2014 08:15:00

noob_saibot
Зарегистрирован: 2013-09-11
Сообщения: 495
Репутация: +  20  -
Профиль   Отправить e-mail  

Подскажите list 2 int

int(time)
или я что-то не уловил?

Офлайн

#4 Март 15, 2014 08:26:00

zahar
Зарегистрирован: 2013-07-15
Сообщения: 39
Репутация: +  3  -
Профиль   Отправить e-mail  

Подскажите list 2 int

JOHN_16
спасибо. То что нужно


noob_saibot
выдаст ошибку:
print int(time)
ValueError: invalid literal for int() with base 10: ""

Офлайн

#5 Март 15, 2014 09:12:39

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

Подскажите list 2 int

>>> import re
>>> 
>>> s = 'abc 12 34L def 56 78L ghi'
>>> 
>>> lst = map(int, re.findall(r'(\d+)L', s))
>>> lst
[34, 78]
>>>



Отредактировано py.user.next (Март 15, 2014 09:14:40)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version