Search code examples
pythonpython-3.xlistindexingenumerate

Using enumerate() to enumerate items with letters rather than numbers


I'm trying to use the built-in function enumerate() to label some points or vertices where each point is represented by its coordinates in a list(or set) of tuples which essentially looks like {(4,5), (6,8), (1,2)}

I want to assign a letter starting from "a" in ascending order to each tuple in this set, using enumerate() does exactly the same but It's written in a way that it returns the value of the index of each item so that it's a number starting from 0.

is there any way to do it other than writing my own enumerate()?


Solution

  • Check this out:

    import string
    tup = {(4,5), (6,8), (1,2)}
    dic = {i: j for i, j in zip(string.ascii_lowercase, tup)}
    

    This returns:

    {'a': (4, 5), 'b': (6, 8), 'c': (1, 2)}