Sei que ainda não foi ensinando, é uma questão mais de curiosidade. É aproximadamente desta forma que quando digitamos em um campo de busca a busca é feita?
Por exemplo, no programa dizemos que o que o usuário digitar será guardado na variavel regex, e no re.findall dizemos que o que foi digitado em regex, será procurado em "nomes", em um cenário real e a procura seria feita no banco de dados?
ex:
busca = raw_input()
concatena = ' '.join(banco_de_dados)
resultado = re.findall(busca, banco_de_dados)
print resultado