#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)])
<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.
# Dictionaries in Python are used to store set of data like Key: Value pair
# the syntax of a dictionary in Python is very simple we use {} inside that
# we define {Key: Value}, to separate multiple values we use','
programming_dictionary = {
"Bug": "An error in a program that prevents the program from running as expected.",
"Function": "A piece of code that you can easily call over and over again.",
"Loop": "The action of doing sommething again and again",
}
# to retrieve the values from a dictionary we use the Key name as an Index
# retrieving the Function's definition
print(programming_dictionary["Function"]) # this will print the definition of Function
# if you wanna print all the entries in the dictionary you can do that by for loop
for key in programming_dictionary:
print(programming_dictionary[key]) # prints all entries
# adding items to a dictionary
# the following code will add another entry to the dictionary called Variable
programming_dictionary["Variable"] = "The label to store some sort of data"
print(programming_dictionary["Variable"])
# editing the values of a key
# editing the value of variable
programming_dictionary["Variable"] = "Variables are nothing but reserved memory locations to store values. This means that when you create a variableyou reserve some space in memory"
# if you learnt something from this please upvote it
# Dictionaries in Python
ages = {"John": 43, "Bob": 24, "Ruth": 76} # Marked by { at beginning and a } at end
# ^^^ Has sets of keys and values, like the 'John' and 43 set. These two values must be seperated by a colon
# ^^^ Sets of values seperated by commas.
#A dictionary has key-value pairs. Here 1,2,3 are the keys and Item1,Item2,Item3
#are their values respectively.
dictionaryName = { 1: "Item1", 2: "Item2", 3: "Item3"}
#retrieving value of a particular key
dictionaryName[1]
#retrieving all the keys in a dictionary
dictionaryName.keys()
#retrieving all the values in a dictionary
dictionaryName.values()
# 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 dictionary
dict = {
"key": "value",
"other_key": "value"
}
#get a value from the dictionary using the key
print(dict["key"])
#you can also get a value from the dictionary using a normal index:
print(dict[1])
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"])