Python: agregar y ordenar una lista

Estoy trabajando en un código donde estoy tratando de tomar un argv (i, w o f) de la línea de comando. Luego, usando la entrada, quiero tomar una lista de enteros, flotantes o palabras y ejecutar algunas cosas.

El usuario ingresará 'f' en la línea de comando y luego ingresará una lista de puntos flotantes donde los valores se agregarán a una lista vacía. Luego, el programa ordenará la lista de flotantes e imprimirá los resultados de salida.

Quiero similar para palabras y enteros.

Si la entrada es una lista de palabras, la salida imprimirá las palabras en orden alfabético. Si la entrada es una lista de enteros, la salida será la lista en el orden inverso.

Este es el código que tengo hasta ahora, pero a partir de ahora algunos de los valores de entrada solo están agregando los valores a la lista vacía. ¿Qué me falta para evitar que el código se ejecute correctamente?

por ejemplo, el programa comenzará agregando el nombre del programa y 'w' para la palabra:

$ 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)  

Respuestas a la pregunta(1)

Su respuesta a la pregunta