# # Python dict: iteration # person_1 = { 'name': 'Jane', 'dob': '12/08/1997', 'city': 'Houston', 'university': 'UHCL' } print("""dict methods for iteration. dict_1.keys(): Returns a view object of all keys. dict_1.values(): Returns a view object of all values. dict_1.items(): Returns a view object of all key-value pairs. """) print(f"person_1: {person_1}") print(f"person_1.keys(): {person_1.keys()}") # dict_keys(['name', 'dob', 'city', 'university']): # dict_keys: name of object; a view object of all keys, # object contains one list of keys in the dict. print(f"person_1.values(): {person_1.values()}") print(f"person_1.items(): {person_1.items()}") # dict_items([('name', 'Jane'), ('dob', '12/08/1997'), ('city', 'Houston'), ('university', 'UHCL')]) # ('name', 'Jane'): a tuple of 2 items: a key and a value. # (): tuple: immutable # []: list: mutable. print("""view objects are dynamic and live. They are views/windows on the underlying dict. """) print("keys = person_1.keys()") keys = person_1.keys() print(f"keys: {keys}") print("person_1['hobbies'] = {'primary': 'music', 'others': ['games', 'woodwork']}") person_1['hobbies'] = {'primary': 'music', 'others': ['games', 'woodwork']} print(f"person_1: {person_1}") print(f"keys: {keys}") # iterations to pretty print a dict. print() print(f"person_1: {person_1}") print(""" print('{') for key in person_1.keys(): print(f" {key}: {person_1[key]}") print('}') """) print('{') for key in person_1.keys(): print(f" {key}: {person_1[key]}") print('}') print(""" print('{') for key, value in person_1.items(): print(f" {key}: {value}") print('}') """) print('{') for key, value in person_1.items(): print(f" {key}: {value}") print('}') print(""" import pprint pprint.pp(person_1, indent=4) """) import pprint pprint.pp(person_1, indent=4) print() print("pprint.pp(person_1, indent=4, sort_dicts=True)") pprint.pp(person_1, indent=4, sort_dicts=True) print(""" # simple summing use cases. sales_by_region = { 'North': 1120, 'South': 2100, 'East': 3219, 'West': 4050} total_sales = 0 for sales_amount in sales_by_region.values(): total_sales += sales_amount print(f"Total sales across all regions: {total_sales}")""") # simple summing use cases. sales_by_region = { 'North': 1120, 'South': 2100, 'East': 3219, 'West': 4050} total_sales = 0 for sales_amount in sales_by_region.values(): total_sales += sales_amount print(f"Total sales across all regions: {total_sales}") # version #2: print('print(f"Total sales across all regions: {sum(sales_by_region.values())}")') print(f"Total sales across all regions: {sum(sales_by_region.values())}")