Lesson 6 of 20

Data Structures for AI

Dictionaries

3 min read

Dictionaries store key-value pairs. They're everywhere in AI development—API responses, configuration, message formatting, and more.

Creating Dictionaries

# Empty dictionary
config = {}

# With initial values
message = {
    "role": "user",
    "content": "Hello, Claude!"
}

# Nested dictionaries
api_config = {
    "openai": {
        "model": "gpt-4",
        "temperature": 0.7
    },
    "anthropic": {
        "model": "claude-3-opus",
        "max_tokens": 1000
    }
}

Accessing Values

message = {"role": "user", "content": "Hello"}

# Direct access (raises KeyError if missing)
role = message["role"]  # "user"

# Safe access with .get() (returns None if missing)
role = message.get("role")           # "user"
name = message.get("name")           # None
name = message.get("name", "Guest")  # "Guest" (default)

Modifying Dictionaries

config = {"model": "gpt-3.5"}

# Add or update
config["model"] = "gpt-4"          # Update existing
config["temperature"] = 0.7        # Add new

# Update multiple at once
config.update({
    "max_tokens": 1000,
    "top_p": 0.9
})

# Remove
del config["top_p"]                # Delete key
value = config.pop("temperature")  # Remove and return value

Iterating Over Dictionaries

settings = {"model": "gpt-4", "temp": 0.7}

# Keys only
for key in settings:
    print(key)  # "model", "temp"

# Values only
for value in settings.values():
    print(value)  # "gpt-4", 0.7

# Both keys and values
for key, value in settings.items():
    print(f"{key}: {value}")

Nested Access

response = {
    "choices": [
        {
            "message": {
                "role": "assistant",
                "content": "Hello!"
            }
        }
    ]
}

# Chain access carefully
content = response["choices"][0]["message"]["content"]

# Safer with .get() for uncertain structures
content = response.get("choices", [{}])[0].get("message", {}).get("content", "")

Next, we'll learn to work with JSON data. :::

Quiz

Module 2: Data Structures for AI

Take Quiz