Defina validar parâmetros.
Tudo o que o módulo argparse faz, como descrito abaixo
é tranforma sys.argv, que é uma lista bruta de strings,
em tipos de dados do Python. O que quero dizer com isso, é que se você espera que um usuário entre
com um número inteiro, na linha de comandos, em sys.argv ele não passará de uma string, por exemplo "1",
mas com argparse é possível transformá-lo em inteiro e utilizá-do livremente.
Portanto argparse já faz todo o trabalho de conversão de tipos(claro que você deve configurar os tipos que deseja receber).
Mas olhando o código que você forneceu parece que sua validação faz referência a outro coisa, supondo que você queira receber uma lista com parâmetro.
if lista != []: # isso também é uma validação, pois você quer saber se algum parâmetro foi dado.
Ou
if len(lista) > 0 # outro modo, de validação, mas acho que seja melhor que a primeira
if condicao == True # outra validação, mas não passa de controle de fluxo, com os argumentos tratados por argparse
Ou
if condicao is True:
if condicao is not False:
if not condicao is False:
Acho que, na sua pergunta, o segundo caso se aplica melhor.