Extraindo uma sub-lista aleatória de uma lista em Python

Eu tenho um dicionário python da seguinte maneira:

{'APPLE_PROVIDERS' : ["some", "provider","can","be", "null"],
  ....
}

O que eu quero fazer é obter uma sublist aleatória da lista (que é um valor) de uma chave. Não apenas um elemento, mas uma sublist totalmente aleatória. Aqui está o que eu tentei:

a_list = a_dict.get('APPLE_PROVIDERS', "")
for item in a_list[randrange(0,len(a_list)) : randrange(0,len(a_list))]:
  ...do something.. 

Essa coisa tem dois problemas:

Se a lista estiver vazia ou se a pesquisa de dict falhar, o programa falhará, pois randrange possui (0,0) como argumentos, o que resulta em um erro

Muitas vezes, as chamadas randrange () geram o mesmo número, especialmente quando a lista é pequena. Isso retorna uma lista vazia. Por exemplo a_list [5: 5]

Então, qual é a melhor maneira de obter uma sublist aleatória com os casos acima tratados? Além disso, não me importo com o pedido. Tudo funciona. Eu só quero uma sublist totalmente aleatória de 0,1 ... até len (a_list) elementos cada vez que o loop for for iniciado.

Se a lista puder ser alterada em alguma outra estrutura de dados que possa conter elementos semelhantes, isso também funcionará para mim.

questionAnswers(4)

yourAnswerToTheQuestion