Start learning free

LESSON 376 OF 410 · PROJECTS: COMMAND-LINE TOOLS

CLI Tool: head v4 — Negative n drops the tail in Python

Practice

Same signature as v2/v3, but now n may be negative. Real head -n -K prints all lines except the last K. So when n < 0 return all lines except the last |n|; when n ≥ 0 behave exactly like v3 (return the first n, capped at the input length). If |n| is at least the number of lines, nothing is left, so return the empty string.

Function signature:

def head(self, lines: List[str], n: int) -> str:

Example (negative n):

Input: lines = ["a", "b", "c", "d", "e"], n = -2

Output: "a\nb\nc"

When printed:
a
b
c

Python's slice lines[:n] already does the right thing for both signs. When n is negative, the slice means "stop |n| from the end" — exactly what we want.

The full solution is the exact same one-liner from v2/v3:
class Solution:
    def head(self, lines, n):
        return "\n".join(lines[:n])

STEP 1 OF 1
    Ctrl + Enter to check

    Head V4 in Python

    Keep going with PythonAbout 340 step-by-step lessons, from your first line of code to coding interviews. Free to start.
    Start learning free