#Creating dictionaries
dict1 = {'color': 'blue', 'shape': 'square', 'volume':40}
dict2 = {'color': 'red', 'edges': 4, 'perimeter':15}
#Creating new pairs and updating old ones
dict1['area'] = 25 #{'color': 'blue', 'shape': 'square', 'volume': 40, 'area': 25}
dict2['perimeter'] = 20 #{'color': 'red', 'edges': 4, 'perimeter': 20}
#Accessing values through keys
print(dict1['shape'])
#You can also use get, which doesn't cause an exception when the key is not found
dict1.get('false_key') #returns None
dict1.get('false_key', "key not found") #returns the custom message that you wrote
#Deleting pairs
dict1.pop('volume')
#Merging two dictionaries
dict1.update(dict2) #if a key exists in both, it takes the value of the second dict
dict1 #{'color': 'red', 'shape': 'square', 'area': 25, 'edges': 4, 'perimeter': 20}
#Getting only the values, keys or both (can be used in loops)
dict1.values() #dict_values(['red', 'square', 25, 4, 20])
dict1.keys() #dict_keys(['color', 'shape', 'area', 'edges', 'perimeter'])
dict1.items()
#dict_items([('color', 'red'), ('shape', 'square'), ('area', 25), ('edges', 4), ('perimeter', 20)])
student_data = {
"name":"inderpaal",
"age":21,
"course":['Bsc', 'Computer Science']
}
#the keys are the left hand side and the values are the right hand side
#to print data you do print(name_of_dictionary['key_name'])
print(student_data['name']) # will print 'inderpaal'
print(student_data['age']) # will print 21
print(student_data['course'])[0]
#this will print 'Bsc' since that field is an array and array[0] is 'Bsc'
<view> = <dict>.keys() # Coll. of keys that reflects changes.
<view> = <dict>.values() # Coll. of values that reflects changes.
<view> = <dict>.items() # Coll. of key-value tuples that reflects chgs.
value = <dict>.get(key, default=None) # Returns default if key is missing.
value = <dict>.setdefault(key, default=None) # Returns and writes default if key is missing.
<dict> = collections.defaultdict(<type>) # Creates a dict with default value of type.
<dict> = collections.defaultdict(lambda: 1) # Creates a dict with default value 1.
<dict> = dict(<collection>) # Creates a dict from coll. of key-value pairs.
<dict> = dict(zip(keys, values)) # Creates a dict from two collections.
<dict> = dict.fromkeys(keys [, value]) # Creates a dict from collection of keys.
<dict>.update(<dict>) # Adds items. Replaces ones with matching keys.
value = <dict>.pop(key) # Removes item or raises KeyError.
{k for k, v in <dict>.items() if v == value} # Returns set of keys that point to the value.
{k: v for k, v in <dict>.items() if k in keys} # Returns a dictionary, filtered by keys.
# Creating an empty Dictionary
Dict = {}
print("Empty Dictionary: ")
print(Dict)
# Creating a Dictionary
# with dict() method
Dict = dict({1: 'Geeks', 2: 'For', 3:'Geeks'})
print("
Dictionary with the use of dict(): ")
print(Dict)
# Creating a Dictionary
# with each item as a Pair
Dict = dict([(1, 'Geeks'), (2, 'For')])
print("
Dictionary with each item as a pair: ")
print(Dict)
txt = "this is a wild string"
print(txt.replace("i", "x")) # print string with all i characters replaced with x
print(txt.replace("i", "x", 2)) # print string with first two i characters found with x
print(txt.upper()) # print string in all uppercase letters
print(txt.lower()) # print string in all uppercase letters
print(ord('A')) # print the ordinal value of a character
print(chr(95)) # print character from its ordinal value
print('Yes' * 5) # print string Yes 5 times
# Reference strings by index
print(txt[0]) # print first letter of string from starting index
print(txt[0:2]) # print first two letters from starting index
print(txt[1:]) # print all characters except the first letter
print(txt[0::2]) # print every second character
print(txt[::-1]) # print string in reverse
print(txt[-1]) # print the last character in a string
print(txt[-2:]) # print the last who characters in a string
# check if a wild is found in txt
if "wild" in txt:
print("wild is found in txt")
# check if a blah is not found in txt
if "blah" not in txt:
print("is not found in txt")
# Check if txt starts with this
if txt.startswith("this"):
print("Starts with this")
# check if txt ends with ing
if txt.endswith("ing"):
print("Ends with ing")
# Split a string into a tuple when the delimiter is first encountered
txt = 'random-data'
data_split = txt.partition('-')
print(data_split)
# output ('random', '-', 'data')
len(txt) # Return length of string
# loop through each character in string
for char in txt:
print(char)
# Display price with commas and 2 digit precision
price = 9749000
display_price = f"My price {price:,.2f}"
print(display_price)
fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
fruits.count('apple') # count number of apples found in list
# output 2
fruits.count('tangerine') # count number of tangerines in list
# output 0
fruits.index('banana') # find the first index of banana
# output 3
fruits.index('banana', 4) # Find next banana starting a position 4
# output 6
fruits.reverse() # reverse fruits array
fruits
# output ['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange']
fruits.append('grape') # append grape at the end of array
fruits
# output ['banana', 'apple', 'kiwi', 'banana', 'pear', 'apple', 'orange', 'grape']
fruits.sort()
fruits
# output ['apple', 'apple', 'banana', 'banana', 'grape', 'kiwi', 'orange', 'pear']
len(fruits) # length of fruits array
# output 8
# loop and print each fruit
for fruit in fruits:
print(fruit)
empty_set = set()
basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
print(basket) # show that duplicates have been removed
# output {'orange', 'banana', 'pear', 'apple'}
# check if orange is in basket set
print('orange' in basket)
# output true
# convert a string to a set of letters - sets contains no duplicates
set_a = set('abcd')
set_b = set('bcde')
# the operations below returns new sets
# print letters in set_a but not in set_b - difference
print(set_a - set_b)
# output {'a'}
# print set letters that is in either set a or b - union
print(set_a | set_b)
# output {'a', 'c', 'e', 'b', 'd'}
# print letters that are in both set_a and set_b - intersection
print(set_a & set_b)
# output {'c', 'd', 'b'}
# print letters that are in set_a and set_b when the letters are found in a set but no the other set - symmetric_difference()
print(set_a ^ set_b)
# output {'a', 'e'}
# Creating dictionaries
dict1 = {'color': 'blue', 'shape': 'square', 'volume': 40}
dict2 = {'color': 'red', 'edges': 4, 'perimeter': 15}
# Creating new pairs and updating old ones
dict1['area'] = 25 # {'color': 'blue', 'shape': 'square', 'volume': 40, 'area': 25}
dict2['perimeter'] = 20 # {'color': 'red', 'edges': 4, 'perimeter': 20}
# Accessing values through keys - an KeyError will occur if the key does not exists
print(dict1['shape'])
# You can also use get, which doesn't cause an exception when the key is not found
dict1.get('false_key') # returns None
dict1.get('false_key', "key not found") # returns the custom message that you wrote
# Delete item key and return the value if the key does not exists a KeyError occurs
print(dict1.pop('volume'))
# Merging two dictionaries
dict1.update(dict2) # if a key exists in both, it takes the value of the second dict
dict1 # {'color': 'red', 'shape': 'square', 'area': 25, 'edges': 4, 'perimeter': 20}
# Getting only the values, keys or both (can be used in loops)
dict1.values() # dict_values(['red', 'square', 25, 4, 20])
dict1.keys() # dict_keys(['color', 'shape', 'area', 'edges', 'perimeter'])
dict1.items()
# dict_items([('color', 'red'), ('shape', 'square'), ('area', 25), ('edges', 4), ('perimeter', 20)])
# create a shallow copy of dict1
dict3 = dict1.copy()
# dict3 = {'color': 'red', 'shape': 'square', 'area': 25, 'edges': 4, 'perimeter': 20}
# A dict (dictionary) is a data type that store keys/values
myDict = {"name" : "bob", "language" : "python"}
print(myDict["name"])
# Dictionaries can also be multi-line
otherDict {
"name" : "bob",
"phone" : "999-999-999-9999"
}
#Python dictionaries consists of key value pairs tha
#The following is an example of dictionary
state_capitals = {
'Arkansas': 'Little Rock',
'Colorado': 'Denver',
'California': 'Sacramento',
'Georgia': 'Atlanta'
}
#Adding items to dictionary
#Modification of the dictionary can be done in similar maner
state_capitals['Kampala'] = 'Uganda' #Kampala is the key and Uganda is the value
#Interating over a python dictionary
for k in state_capitals.keys():
print('{} is the capital of {}'.format(state_capitals[k], k))
stationary_items = {
"Pencil":"Pencil is used to write things in copy",
"Eraser": "Eraser is used to remove the written things",
"Sharpner":"This is used to sharp your pencil"
}
print(stationary_items["Pencil"])