0
Q:

python get value from dictionary

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

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

print(data)  # Hello, World!
9
#!/usr/bin/python

dict = {'Name': 'Zabra', 'Age': 7}
print "Value : %s" %  dict.get('Age')
print "Value : %s" %  dict.get('Education', "Never")
1
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

############### 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
# Create a list of dictionary
datadict = [{'Name': 'John', 'Age': 38, 'City': 'Boston'},
 {'Name': 'Sara', 'Age': 47, 'City': 'Charlotte'},
 {'Name': 'Peter', 'Age': 63, 'City': 'London'},
 {'Name': 'Cecilia', 'Age': 28, 'City': 'Memphis'}]

# Build a function to access to list of dictionary
def getDictVal(listofdic, name, retrieve):
    for item in listofdic:
        if item.get('Name')==name:
            return item.get(retrieve)
          
 # Use the 'getDictVal' to read the data item
getDictVal(datadict, 'Sara', 'City') # Return 'Charlotte'

# -------------------
# to convert a dataframe to data dictionary
df = pd.DataFrame({'Name': ['John', 'Sara','Peter','Cecilia'],
                   'Age': [38, 47,63,28],
                  'City':['Boston', 'Charlotte','London','Memphis']})

datadict = df.to_dict('records')
0
question  = {
  "name":"x"
  "DOb":"y"
  "Hobby":"z"
}

print(question["name"]
      
0

New to Communities?

Join the community