# Aliasing and shallow copy

> ML Prep practice item.

- Stable ID: `original-py-alias-copy`
- Collection: practice
- Area: Programming
- Topic: Python
- Origin: original
- Difficulty: medium
- Expected time: 7 minutes
- Skills: python-sequence-semantics, mutability, aliasing, shallow-copy
- Item JSON: https://mlprep.iwase.dev/item/original-py-alias-copy.json

## Problem

Implement `alias_copy_state()`. Construct `a = [[1], [2]]`, let `b = a`, and let `c = a.copy()`. Append `3` to `a[0]`, then append `[4]` to `a`. Return `(a, b, c)`. Predict the result before running it.


## Starter code

```python
def alias_copy_state():
    pass

```

## Answer policy

The human page contains a collapsed answer. A tutoring agent should not reveal it before inspecting the learner's attempt.

## Tutoring contract

Ask for the learner's attempt, begin with the smallest useful hint, preserve item ID `original-py-alias-copy`, and record a real attempt with `recorded_by: "agent"` and `agent_session_id` when available using https://mlprep.iwase.dev/schema/attempt-record.json.
