Coding Challenge
💬 Challenge: How to Find the Longest Line or String From a File in Python?
Given the following text file:

Depending on what exactly you’re looking for, you want to find the longest string word (A) or the longest line (B) in the file.
without python we'd all have to write java code
Let’s dive into both variants next.
Method 1: Find Longest Line in Text File using Python
To find the longest line in a text file using Python, open the file using the open()
function and read the file content in a list of lines using file.readlines()
function. Then call the max(lines, key=len)
function on the list of lines using the length function as a key to find the longest line.
Here’s the code:
with open('my_file.txt', mode='r') as f: lines = f.readlines() longest_line = max(lines, key=len) print('The longest line is:', longest_line)
The output is:
The longest line is: we'd all have to
You may want to check out the following tutorials to help you understand the basics of the features used in this snippet:
Or why not open all four tutorials and skim them in 1 minute per tutorial? Four minutes well spent! 🦄
Note you can one-linerize this using the following code snippet:
print(max(open('my_file.txt').readlines(), key=len)) # we'd all have to
Method 2: Find Longest String Word in a Text File using Python
A simple and straightforward way to find the longest string word in a text file is to open the file, loop over all lines using file.readlines()
, split each line into a list of words using string.split()
, loop over this list of words, and keep track of the longest word in a variable.
Here’s the Python snippet that finds the longest word in a text file:
with open('my_file.txt', 'r') as f: longest_word = '' for line in f.readlines(): for word in line.split(): if len(word)>len(longest_word): longest_word = word print('The longest word in the file is:', longest_word)
Here’s the correct output, i.e., the longest word in the text:
The longest word in the file is: without
Note, you can also one-linerize this using the following approach of combining list comprehension and the max()
function:
longest = max([word for line in open('my_file.txt').readlines() for word in line.split()], key=len)
The result is the same:
print('The longest word in the file is:', longest) # The longest word in the file is: without
In case you’re confused by the one-liner solution, no worries. First have a look at the list comprehension tutorial.
👉 Recommended Tutorial: A Simple Guide to Python’s List Comprehension
Second, you may also want to check out my book on the topic that will make you a one-liner wiz:
Python One-Liners Book: Master the Single Line First!
Python programmers will improve their computer science skills with these useful one-liners.
Python One-Liners will teach you how to read and write “one-liners”: concise statements of useful functionality packed into a single line of code. You’ll learn how to systematically unpack and understand any line of Python code, and write eloquent, powerfully compressed Python like an expert.
The book’s five chapters cover (1) tips and tricks, (2) regular expressions, (3) machine learning, (4) core data science topics, and (5) useful algorithms.
Detailed explanations of one-liners introduce key computer science concepts and boost your coding and analytical skills. You’ll learn about advanced Python features such as list comprehension, slicing, lambda functions, regular expressions, map and reduce functions, and slice assignments.
You’ll also learn how to:
- Leverage data structures to solve real-world problems, like using Boolean indexing to find cities with above-average pollution
- Use NumPy basics such as array, shape, axis, type, broadcasting, advanced indexing, slicing, sorting, searching, aggregating, and statistics
- Calculate basic statistics of multidimensional data arrays and the K-Means algorithms for unsupervised learning
- Create more advanced regular expressions using grouping and named groups, negative lookaheads, escaped characters, whitespaces, character sets (and negative characters sets), and greedy/nongreedy operators
- Understand a wide range of computer science topics, including anagrams, palindromes, supersets, permutations, factorials, prime numbers, Fibonacci numbers, obfuscation, searching, and algorithmic sorting
By the end of the book, you’ll know how to write Python at its most refined, and create concise, beautiful pieces of “Python art” in merely a single line.
Get your Python One-Liners on Amazon!!

While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.
To help students reach higher levels of Python success, he founded the programming education website Finxter.com that has taught exponential skills to millions of coders worldwide. He’s the author of the best-selling programming books Python One-Liners (NoStarch 2020), The Art of Clean Code (NoStarch 2022), and The Book of Dash (NoStarch 2022). Chris also coauthored the Coffee Break Python series of self-published books. He’s a computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.
His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.