Thursday, March 6, 2025

Python lab programs on DICTIONARIES with explanation

 Certainly! Below are some sample Python lab programs focused on dictionaries and their operations, along with a detailed explanation of how the code is executed.


1. Creating and Accessing Elements in a Dictionary

Objective: Learn how to create a dictionary and access its elements.

# Creating a dictionary
person = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

# Accessing elements by key
print(f"Name: {person['name']}")
print(f"Age: {person['age']}")

Explanation:

  • person = {}: A dictionary is created with three key-value pairs, where "name", "age", and "city" are keys, and "John", 30, and "New York" are their corresponding values.
  • person['name']: This accesses the value associated with the key "name".
  • person['age']: This accesses the value associated with the key "age".
  • Output:
    • Name: John
    • Age: 30

2. Adding, Updating, and Removing Key-Value Pairs

Objective: Learn how to add, update, and remove key-value pairs in a dictionary.

# Creating a dictionary
person = {
    "name": "John",
    "age": 30
}

# Adding a new key-value pair
person["city"] = "New York"
print(f"Updated dictionary: {person}")

# Updating an existing key-value pair
person["age"] = 31
print(f"Updated age: {person['age']}")

# Removing a key-value pair
del person["city"]
print(f"Dictionary after removing 'city': {person}")

Explanation:

  • person["city"] = "New York": Adds a new key "city" with the value "New York" to the dictionary.
  • person["age"] = 31: Updates the value of the "age" key from 30 to 31.
  • del person["city"]: Deletes the key-value pair associated with the "city" key from the dictionary.
  • Output:
    • Updated dictionary: {'name': 'John', 'age': 30, 'city': 'New York'}
    • Updated age: 31
    • Dictionary after removing 'city': {'name': 'John', 'age': 31}

3. Iterating Over a Dictionary

Objective: Learn how to iterate through keys, values, and key-value pairs of a dictionary.

# Creating a dictionary
person = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

# Iterating over keys
for key in person:
    print(f"Key: {key}")

# Iterating over values
for value in person.values():
    print(f"Value: {value}")

# Iterating over key-value pairs
for key, value in person.items():
    print(f"Key: {key}, Value: {value}")

Explanation:

  • for key in person:: This loop iterates over the keys in the dictionary.
  • for value in person.values():: This loop iterates over the values in the dictionary.
  • for key, value in person.items():: This loop iterates over both keys and values in the dictionary using the items() method.
  • Output:
    • Keys: name, age, city
    • Values: John, 30, New York
    • Key-Value Pairs: name: John, age: 30, city: New York

4. Checking if a Key Exists in a Dictionary

Objective: Learn how to check if a key exists in a dictionary using in.

# Creating a dictionary
person = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

# Checking if a key exists
if "name" in person:
    print("The key 'name' exists in the dictionary.")

if "country" not in person:
    print("The key 'country' does not exist in the dictionary.")

Explanation:

  • if "name" in person:: This checks if the key "name" exists in the dictionary person.
  • if "country" not in person:: This checks if the key "country" does not exist in the dictionary.
  • Output:
    • The key 'name' exists in the dictionary.
    • The key 'country' does not exist in the dictionary.

5. Nested Dictionaries

Objective: Learn how to work with nested dictionaries.

# Creating a nested dictionary
people = {
    "John": {
        "age": 30,
        "city": "New York"
    },
    "Jane": {
        "age": 25,
        "city": "Los Angeles"
    }
}

# Accessing nested dictionary elements
print(f"John's age: {people['John']['age']}")
print(f"Jane's city: {people['Jane']['city']}")

Explanation:

  • people: A dictionary containing two keys, "John" and "Jane", where each key maps to another dictionary containing "age" and "city".
  • people['John']['age']: This accesses the value of "age" for the person "John".
  • people['Jane']['city']: This accesses the value of "city" for the person "Jane".
  • Output:
    • John's age: 30
    • Jane's city: Los Angeles

6. Merging Two Dictionaries

Objective: Learn how to merge two dictionaries.

# Creating two dictionaries
dict1 = {"name": "John", "age": 30}
dict2 = {"city": "New York", "job": "Engineer"}

# Merging dictionaries
merged_dict = {**dict1, **dict2}
print(f"Merged dictionary: {merged_dict}")

Explanation:

  • dict1 = {"name": "John", "age": 30}: A dictionary dict1 is created.
  • dict2 = {"city": "New York", "job": "Engineer"}: Another dictionary dict2 is created.
  • {**dict1, **dict2}: The ** operator is used to unpack the dictionaries and merge them into a new dictionary merged_dict. If there are overlapping keys, values from the second dictionary (dict2) will overwrite values from the first dictionary (dict1).
  • Output:
    • Merged dictionary: {'name': 'John', 'age': 30, 'city': 'New York', 'job': 'Engineer'}

7. Getting Keys, Values, and Items of a Dictionary

Objective: Learn how to retrieve keys, values, and items as separate views from a dictionary.

# Creating a dictionary
person = {
    "name": "John",
    "age": 30,
    "city": "New York"
}

# Getting keys, values, and items
keys = person.keys()
values = person.values()
items = person.items()

print(f"Keys: {keys}")
print(f"Values: {values}")
print(f"Items: {items}")

Explanation:

  • person.keys(): This returns a view of the keys in the dictionary.
  • person.values(): This returns a view of the values in the dictionary.
  • person.items(): This returns a view of the key-value pairs in the dictionary as tuples.
  • Output:
    • Keys: dict_keys(['name', 'age', 'city'])
    • Values: dict_values(['John', 30, 'New York'])
    • Items: dict_items([('name', 'John'), ('age', 30), ('city', 'New York')])

8. Default Values with get() Method

Objective: Use the get() method to safely access values and provide default values if a key does not exist.

# Creating a dictionary
person = {
    "name": "John",
    "age": 30
}

# Using the get() method with a default value
city = person.get("city", "Unknown")
print(f"City: {city}")

Explanation:

  • person.get("city", "Unknown"): The get() method is used to retrieve the value associated with the "city" key. If the key does not exist, it returns "Unknown" as the default value.
  • Output:
    • City: Unknown

9. Dictionary Comprehension

Objective: Learn how to create dictionaries using dictionary comprehension.

# Creating a dictionary with comprehension
squared_numbers = {x: x**2 for x in range(1, 6)}

print(f"Squared numbers: {squared_numbers}")

Explanation:

  • {x: x**2 for x in range(1, 6)}: This dictionary comprehension creates a dictionary where each key is a number from 1 to 5, and the value is the square of the key.
  • Output:
    • Squared numbers: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Summary of Key Dictionary Operations:

  • Dictionaries are mutable: You can add, update, or remove key-value pairs after creation.
  • Accessing elements: Use square brackets [] to access values by key or the get() method for safe access.
  • Iteration: You can iterate over keys, values, or key-value pairs using loops.
  • Checking membership: Use the in operator to check if a key exists.
  • Nested dictionaries: Dictionaries can contain other dictionaries as values, enabling hierarchical data storage.
  • Merging: Use the ** operator to merge multiple dictionaries.


No comments:

Post a Comment