Level 6Exercise #133
Preserve an input type
Annotate first() so its return type matches the sequence element type.
What you’ll practice
This Level 6 exercise focuses on TypeVar in the Professional curriculum. Solve the challenge prompt above using clear, idiomatic Python and the relevant language or standard-library tools.
Relevant Python reference: typing — Support for type hints.
Sample Test Cases
Example #1
Input:
first([1,2,3])Output:
1 (typed as int)Further Reading
Reference Solution
Reveal Reference Solution
def first(values: list['T']) -> 'T': from typing import TypeVar T = TypeVar('T') if not values: raise ValueError('empty sequence') return values[0]Pro Tips & Keyboard Shortcuts
Color Theme
Ctrl + K then T
Open VS Code Color Theme Quick Pick to select from 20 dark and light themes.
Editor SettingsCtrl + K
Open practice settings drawer to toggle line numbers, indenting, font size & hints.
Search MenuCtrl + /
Expand sidebar menu, focus search bar, and highlight search text instantly.
Focus Code Editor
Esc or Ctrl + `
Instantly highlight and focus code editor from anywhere, restoring cursor right where you left off.
Normal ViewEsc
Collapse sidebar and close all popups or settings drawers for clean focus view.