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)