• Почему работает некорректно?

    @dmshar
    Если надо "находить и удалять" одновременно, то делать это МОЖНО только с конца списка

    a='a abc ccc cvv v'
    b=a.split()
    c=[]
    for i in b[::-1]:
        if len(i)>=3 and len(i)<=5:
            c.append(i)
            b.remove(i)
    print ( c)
    print (b)

    Результат
    ['cvv', 'ccc', 'abc']
    ['a', 'v']


    Если очень хочется - потом можно сделать реверс

    c.reverse()
    print ( c)


    ['cvv', 'ccc', 'abc']
    Ответ написан
    Комментировать