Dictionaries in Python

A dictionary is a versatile and mutable data structure that stores data in key-value pairs. Dictionaries are defined using curly braces {} and consist of keys and their corresponding values.

1. Basic Syntax:

# Example of a dictionary
person = {"name": "Alice", "age": 30, "city": "Wonderland"}

2. Accessing Values:

Values in a dictionary are accessed using their keys.

# Accessing values
name = person["name"]
age = person["age"]

3. Adding and Updating Values:

You can add new key-value pairs or update existing values in a dictionary.

# Adding a new key-value pair
person["gender"] = "Female"

# Updating the value of an existing key
person["age"] = 31

4. Removing Key-Value Pairs:

You can use the del statement to remove a key-value pair.

# Removing a key-value pair
del person["city"]

5. Common Operations on Dictionaries:

  • Checking if a Key Exists:
  if "name" in person:
      print("Name is present.")
  • Getting All Keys and Values:
  keys = person.keys()
  values = person.values()
  • Iterating Through Keys and Values:
  for key, value in person.items():
      print(f"{key}: {value}")

6. Nested Dictionaries:

Dictionaries can be nested, allowing you to create more complex data structures.

# Example of a nested dictionary
company = {
    "name": "TechCorp",
    "employees": [
        {"name": "Alice", "position": "Engineer"},
        {"name": "Bob", "position": "Designer"},

7. Choosing Keys:

  • Keys in a dictionary must be unique.
  • Keys are typically strings or numbers, but they can be of any immutable data type.
  • Avoid using mutable types like lists as keys.

8. Use Cases:

  • Storing Configuration Settings:
  settings = {"theme": "dark", "font_size": 14}
  • Representing Entities:
  person = {"name": "Alice", "age": 30, "city": "Wonderland"}
  • Counting Occurrences:
  word_count = {"apple": 3, "orange": 5, "banana": 2}

9. Conclusion:

Dictionaries are powerful data structures in Python, offering efficient key-based access to values. They are widely used for a variety of purposes, including representing entities, storing configurations, and counting occurrences.

In the next sections, we’ll explore more advanced topics and practical applications of data structures in Python.