Key error '0' with dict format

Desura picture Desura · Jun 15, 2014 · Viewed 17.7k times · Source

I'm still a beginner in Python, and I wanted to know why this :

    dict = {}
    dict[0] = '123'
    a = 0
    if dict["{}".format(a)]["{}".format(a)] == '1':
        print('True')

gives me a Key Error '0' but not this :

    dict = {}
    dict[0] = '123'
    if dict[0][0] == '1':
       print('True')

Thanks in advance.

Answer

Reloader picture Reloader · Jun 15, 2014

You're trying to compare the key 0 with "0". They are different. One is an integer and another is a string.