Definition

A dictionary in Python is a collection of key-value pairs, where each key is unique, and values can be of any data type. Dictionaries are mutable, unordered, and optimized for fast lookups, updates, and deletions.

Example

# Create a dictionary
person = {
    "name": "Alice",
    "age": 25,
    "city": "New York"
}

# Access a value using a key
print(person["name"])  # Output: Alice

# Add a new key-value pair
person["profession"] = "Engineer"

# Update a value
person["age"] = 26

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

# Iterate through the dictionary
for key, value in person.items():
    print(f"{key}: {value}")

Output

Alice
name: Alice
age: 26
profession: Engineer

Features

  1. Keys are Unique: Each dictionary key must be unique.
  2. Values can be Duplicates: Values do not need to be unique.
  3. Key Types: Keys must be immutable (e.g., strings, numbers, tuples).
  4. Unordered: In Python 3.7+, dictionaries maintain insertion order but are conceptually unordered.
  5. Built-in Methods: Rich set of methods like get(), keys(), values(), and items() for efficient data handling.
  6. Dynamic Resizing: Automatically adjusts memory usage as the dictionary grows.

Advantages

  1. Fast Data Retrieval: Optimized for quick lookups by key.
  2. Flexibility: Supports various data types for values (e.g., strings, numbers, lists).
  3. Mutability: Can be modified after creation (add, update, or delete items).
  4. Dynamic Sizing: No need to predefine size; grows as needed.
  5. Readable Code: Key-value structure makes data organization intuitive.