Python Add to Dictionary

This function should add the name and number to the "phoneBook" dictionary when I run the loop, but for some reason I cannot get it to work. Any ideas on why not? Many thanks!

 phoneBook = dict()
    def addNumber(name, number):
        for i in phoneBook:
            if i == name:
                print 'error'
            else:
                phoneBook[name] = number
+4
source share
3 answers

You don't need a loop at all, you can simply use the keyword into check the name for existing keys in the dictionary.

phoneBook = dict()
def addNumber(name, number):
    if name in phoneBook:
        print 'error'
    else:
        phoneBook[name] = number
+12
source

why bother

people = ((data["name"],data["number"]) for data in json.loads(some_list)[::-1])
phoneBook = dict(people)

this will work in reverse order through the list, so the first occurrence of the name will be the one stored in the dictionary

verification takes more time than just pasting it ... even if it ends with what is written

, ,

, else forloop, ,

, , ... ,

phoneBook = dict()
def addNumber(name, number):
    for i in phoneBook:
        if i == name:
            print 'error'
            return
    phoneBook[name] = number

addNumber("james",56)
addNumber("Tommy",26)
addNumber("james",77)
+7

adadadadadadadadadadadadadadadadadadadadadad sadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadad

-2
source

All Articles