Дана таблица в широком формате (словарь): name + несколько предметов с оценками.
Преобразуйте в длинный формат: список dict с ключами name, subject, score.
def melt_scores(data: dict) -> list[dict]:
data = {"name": ["Alice","Bob"], "math": [90,78], "physics": [85,92], "chemistry": [88,81]}
melt_scores(data) → [
{"name": "Alice", "subject": "chemistry", "score": 88},
{"name": "Alice", "subject": "math", "score": 90},
{"name": "Alice", "subject": "physics", "score": 85},
{"name": "Bob", "subject": "chemistry", "score": 81},
{"name": "Bob", "subject": "math", "score": 78},
{"name": "Bob", "subject": "physics", "score": 92}
]
Отсортировано по name, затем по subject.
data = {"name":["Alice","Bob"],"math":[90,78],"physics":[85,92],"chemistry":[88,81]}[{"name":"Alice","subject":"chemistry","score":88},{"name":"Alice","subject":"math","score":90},{"name":"Alice","subject":"physics","score":85},{"name":"Bob","subject":"chemistry","score":81},{"name":"Bob","subject":"math","score":78},{"name":"Bob","subject":"physics","score":92}]data = {"name":["Charlie","Alice"],"algebra":[70,95],"geometry":[80,90]}[{"name":"Alice","subject":"algebra","score":95},{"name":"Alice","subject":"geometry","score":90},{"name":"Charlie","subject":"algebra","score":70},{"name":"Charlie","subject":"geometry","score":80}]data = {"name":["A"],"X":[1],"Y":[2],"Z":[3]}[{"name":"A","subject":"X","score":1},{"name":"A","subject":"Y","score":2},{"name":"A","subject":"Z","score":3}]