ФорумПрограммированиеPython → Нужно получить последний ненулевой элемент в строке.

Нужно получить последний ненулевой элемент в строке.

  • polin11

    Сообщения: 41 Репутация: N Группа: Кто попало

    Spritz 11 ноября 2018 г. 21:03

    Нужно получить последний ненулевой элемент в строке. Есть строка из цифр, нужно получить последний ненулевой элемент
    есть 2 варианта:

    
    1)
    code = '120300' 
    index= len(code) - [i for i, item in enumerate(list(code[::-1])) if item != '0'][0] - 1
    print(index)
    2) 
    code = '120300'
    for i, char in enumerate(code[::-1]):
        if char != '0':
            index = i
            break
    index = len(code) - index - 1
    print(index)
    

    Кто может подсказать более элегантное решение?

  • master

    Сообщения: 3244 Репутация: N Группа: Джедаи

    Spritz 13 ноября 2018 г. 21:32, спустя 2 дня 29 минут

    s = '100500'
    next(len(s)-i-1 for i,obj in enumerate(s[::-1]) if obj!='0')

    -1

    Спустя 150 сек.

    -1 оставить или убрать - на твоё усмотрение

    не всё полезно, что в swap полезло

Пожалуйста, авторизуйтесь, чтобы написать комментарий!