Python - Anexando e classificando uma lista

Estou trabalhando em um código em que estou tentando obter um argumento (i, w ou f) na linha de comando. Então, usando input, quero pegar uma lista de números inteiros, float ou palavras e executar algumas coisas.

O usuário digitará 'f' na linha de comando e, em seguida, inserirá uma lista de pontos flutuantes em que os valores serão anexados a uma lista vazia. Em seguida, o programa classificará a lista de flutuação e imprimirá os resultados de saída.

Eu quero semelhante para palavras e números inteiros.

Se a entrada for uma lista de palavras, a saída imprimirá as palavras em ordem alfabética. Se a entrada for uma lista de números inteiros, a saída será a lista na ordem inversa.

Este é o código que eu tenho até agora, mas, no momento, alguns dos valores de entrada estão apenas acrescentando os valores à lista vazia. O que estou faltando está impedindo que o código seja executado corretamente?

por exemplo, o programa começará adicionando o nome do programa e 'w' para a palavra:

$ test.py w
>>> abc ABC def DEF
[ABC, DEF,abc,def] # list by length, alphabetizing words 

código

import sys, re

script, options = sys.argv[0], sys.argv[1:]

    a = [] 

    for line in options: 

        if re.search('f',line):     # 'f' in the command line
            a.append(input()) 
            a.join(sorted(a)) # sort floating point ascending 
            print (a)  


        elif re.search('w', line):              
            a.append.sort(key=len, reverse=True) # print list in alphabetize order
            print(a) 

        else: re.search('i', line)
        a.append(input())   
        ''.join(a)[::-1]  # print list in reverse order
        print (a)  

questionAnswers(1)

yourAnswerToTheQuestion