Skip to Content
Programming Python, 4th Edition
book

Programming Python, 4th Edition

by Mark Lutz
December 2010
Beginner
1626 pages
54h 17m
English
O'Reilly Media, Inc.
Book available
Content preview from Programming Python, 4th Edition

Chapter 18. Data Structures

“Roses Are Red, Violets Are Blue; Lists Are Mutable, and So Is Set Foo”

Data structures are a central theme in most programs, even if Python programmers often don’t need to care. Their apathy is warranted—Python comes “out of the box” with a rich set of built-in and already optimized types that make it easy to deal with structured data: lists, strings, tuples, dictionaries, sets, and the like. For simple systems, these types are usually enough. Dictionaries, for example, subsume many of the classical searching algorithms, and lists replace much of the work you’d do to support collections in lower-level languages. Even so, both are so easy to use that you generally never give them a second thought.

But for advanced applications, we may need to add more sophisticated types of our own to handle extra requirements or special cases. In this chapter, we’ll explore a handful of advanced data structure implementations in Python: sets, stacks, graphs, and so on. As we’ll see, data structures can take the form of new object types in Python, integrated into the language’s type model. That is, objects we code in Python become full-fledged datatypes—to the scripts that use them, they can look and feel just like built-in lists, numbers, and dictionaries.

Although the examples in this chapter illustrate advanced programming and computer science techniques, they also underscore Python’s support for writing reusable software. As object implementations are coded with classes ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Learning Python, 4th Edition

Learning Python, 4th Edition

Mark Lutz
Expert Python Programming - Fourth Edition

Expert Python Programming - Fourth Edition

Michał Jaworski, Tarek Ziade, Tarek Ziadé

Publisher Resources

ISBN: 9781449398712Supplemental ContentErrata Page