pythondictionarylowercase

Dictionary to lowercase in Python


I wish to do this but for a dictionary:

"My string".lower()

Is there a built in function or should I use a loop?


Solution

  • You will need to use either a loop or a list/generator comprehension. If you want to lowercase all the keys and values, you can do this::

    dict((k.lower(), v.lower()) for k,v in {'My Key':'My Value'}.iteritems())
    

    If you want to lowercase just the keys, you can do this::

    dict((k.lower(), v) for k,v in {'My Key':'My Value'}.iteritems())
    

    Generator expressions (used above) are often useful in building dictionaries; I use them all the time. All the expressivity of a loop comprehension with none of the memory overhead.