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

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

  • polin11

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

    Spritz Ноя. 11, 2018, 10: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, 10:32 д.п., спустя 2 дня 29 минут

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

    -1

    Спустя 150 сек.

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

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

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