Q:

python dict get

dictionary = {"message": "Hello, World!"}

data = dictionary.get("message", "")

print(data)  # Hello, World!
9
dic = {"A":1, "B":2} 
print(dic.get("A")) 
print(dic.get("C")) 
print(dic.get("C","Not Found ! ")) 
4
dict = {'color': 'blue', 'shape': 'square', 'perimeter':20}
dict.get('shape') #returns square

#You can also set a return value in case key doesn't exist (default is None)
dict.get('volume', 'The key was not found') #returns 'The key was not found'
8
#The get() method in  dictionary returns:
#the value for the specified key if key is in dictionary.
#None if the key is not found and value is not specified.
#value if the key is not found and value is specified.
# value is provided
print('Salary: ', person.get('salary', 0.0))
7
# The get() method on dicts
# and its "default" argument

name_for_userid = {
    382: "Alice",
    590: "Bob",
    951: "Dilbert",
}

def greeting(userid):
    return "Hi %s!" % name_for_userid.get(userid, "there")

>>> greeting(382)
"Hi Alice!"

>>> greeting(333333)
"Hi there!"

'''When "get()" is called it checks if the given key exists in the dict.

If it does exist, the value for that key is returned.

If it does not exist then the value of the default argument is returned instead.
'''
# transferred by @ebdeuslave
# From Dan Bader - realpython.com
6
print(dict.get("key"))
1
print(dict["key"])
2
dic = {"A": 1, "B": 2} 
print(dic["A"]) 
print(dic["C"]) 
# This would produce a KeyError saying the key was not found
# To avoid these situations, we use the get() function
# If it finds nothing, it'll return None instead of an error.
print(dic.get("C")) # None
print(dic.get("C","Not Found ! ")) # Not Found !
# You can specify what the other value can be, like the example above.
1

############### PRATICAL EXAMPLE OF THE GET METHOD ####################
# How to use dictionaries to find the number of times each word is
# repeated in a text file?

# Example where we don't use GET:

filename = input("Enter File:")
hand = open(filename)

dt = dict()

for line in hand:
  line = line.rstrip()
  words = line.split()
  
  for word in words:
    if word in dt:
      dt[word] = dt[word] + 1
	else:
      dt[word] = 1


# Example where we use GET:

filename = input("Enter File:")
hand = open(filename)

dt = dict()

for line in hand:
  line = line.rstrip()
  words = line.split()
  
  for word in words:
    dt[word] = dt.get(word,0) + 1
    
    
# What GET does is, return the value of the keyword if it already exists. 
# In this context, it will return the number of times that word has 
# been repeated until that moment. If the word doesn't exist in the 
# dictionary then, the default argument is returned, and a new key with 
# value 1 is created:
     dt[new_word] = 0 + 1

1

  
    dictionary.get(keyname, value)
  
2

New to Communities?

Join the community