python get value from dictionary
# 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
############### 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
# 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')