Diccionario de mayúsculas y minúsculas

Me gustaría que mi diccionario sea insensible a mayúsculas y minúsculas.

Tengo este código de ejemplo:

text = "practice changing the color"

words = {'color': 'colour',
        'practice': 'practise'}

def replace(words,text):

    keys = words.keys()

    for i in keys:
        text= text.replace(i ,words[i])
    return  text

text = replace(words,text)

print text

Salida = práctica cambiando el color

Me gustaría otra cuerda,"practice changing the Color", (dóndeColor comienza con un capital) para dar también la misma salida.

Creo que hay una forma general de convertir a minúsculas usandomydictionary[key.lower()] pero no estoy seguro de cómo integrar mejor esto en mi código existente. (Si este fuera un enfoque razonable y simple de todos modos).

Respuestas a la pregunta(9)

Su respuesta a la pregunta