☰
Python Across Disciplines
with Python + AI Tool   
×
Table of Contents

1.1.   Introduction 1.2.   About the Author & Contact Info 1.3.   Book Conventions 1.4.   What (Who) is a Programmer? 1.5.   Programming Across Disciplines 1.6.   Foundational Computing Concepts 1.7.   About Python 1.8.   First Steps 1.8.1 Computer Setup 1.8.2 Python print() Function 1.8.3 Comments
2.1. About Data 2.2. Data Types 2.3. Variables 2.4. User Input 2.5. Data Structures (DS)         2.5.1. DS Concepts         2.5.2. Lists         2.5.3. Dictionaries         2.5.4. Others 2.6. Files         2.6.1. Files & File Systems         2.6.2. Python File Object         2.6.3. Data Files 2.7. Databases
3.1. About Processing 3.2. Decisions         3.2.1 Decision Concepts         3.2.2 Conditions & Booleans         3.2.3 if Statements         3.2.4 if-else Statements         3.2.5 if-elif-else Statements         3.2.6 In-Line if Statements 3.3. Repetition (a.k.a. Loops)         3.3.1  Repetition Concepts         3.3.2  while Loops         3.3.3  for Loops         3.3.4  Nested Loops         3.3.5  Validating User Input 3.4. Functions         3.4.1  Function Concepts         3.4.2  Built-In Functions         3.4.3  Programmer Defined Functions 3.5. Libraries         3.5.1  Library Concepts         3.5.2  Standard Library         3.5.3  External Libraries 3.6. Processing Case Studies         3.6.1  Case Studies         3.6.2  Parsing Data
4.1. About Output 4.2. Advanced Printing 4.3. Data Visualization   4.4  Sound
  4.5  Graphics
  4.6  Video
  4.7  Web Output
  4.8  PDFs & Documents
  4.9  Dashboards
  4.10  Animation & Games
  4.11  Text to Speech

5.1 About Disciplines 5.2 Accounting 5.3 Architecture 5.4 Art 5.5 Artificial Intelligence (AI) 5.6 Autonomous Vehicles 5.7 Bioinformatics 5.8 Biology 5.9 Bitcoin 5.10 Blockchain 5.11 Business 5.12 Business Analytics 5.13 Chemistry 5.14 Communication 5.15 Computational Photography 5.16 Computer Science 5.17 Creative Writing 5.18 Cryptocurrency 5.19 Cultural Studies 5.20 Data Analytics 5.21 Data Engineering 5.22 Data Science 5.23 Data Visualization 5.24 Drone Piloting 5.25 Economics 5.26 Education 5.27 Engineering 5.28 English 5.29 Entrepreneurship 5.30 Environmental Studies 5.31 Exercise Science 5.32 Film 5.33 Finance 5.34 Gaming 5.35 Gender Studies 5.36 Genetics 5.37 Geography 5.38 Geology 5.39 Geospatial Analysis ☯ 5.40 History 5.41 Humanities 5.42 Information Systems 5.43 Languages 5.44 Law 5.45 Linguistics 5.46 Literature 5.47 Machine Learning 5.48 Management 5.49 Marketing 5.50 Mathematics 5.51 Medicine 5.52 Military 5.53 Model Railroading 5.54 Music 5.55 Natural Language Processing (NLP) 5.56 Network Analysis 5.57 Neural Networks 5.58 Neurology 5.59 Nursing 5.60 Pharmacology 5.61 Philosophy 5.62 Physiology 5.63 Politics 5.64 Psychiatry 5.65 Psychology 5.66 Real Estate 5.67 Recreation 5.68 Remote Control (RC) Vehicles 5.69 Rhetoric 5.70 Science 5.71 Sociology 5.72 Sports 5.73 Stock Trading 5.74 Text Mining 5.75 Weather 5.76 Writing
6.1. Databases         6.1.1 Overview of Databases         6.1.2 SQLite Databases         6.1.3 Querying a SQLite Database         6.1.4 CRUD Operations with SQLite         6.1.5 Connecting to Other Databases
Built-In Functions Conceptss Data Types Date & Time Format Codes Dictionary Methods Escape Sequences File Access Modes File Object Methods Python Keywords List Methods Operators Set Methods String Methods Tuple Methods Glossary Index Appendices   Software Install & Setup
  Coding Tools:
  A.  Python    B.  Google CoLaboratory    C.  Visual Studio Code    D.  PyCharm IDE    E.  Git    F.  GitHub 
  Database Tools:
  G.  SQLite Database    H.  MySQL Database 


Python Across Disciplines
by John Gordon © 2023

Table of Contents

Table of Contents  »  Chapter 2 : Data (Input) : Data Structures : Other Data Structures

Other Data Structures

Subscribe Contact


Contents

Overview

In addition to the data structures we explored o the preceding pages (Lists and Dictionaries), there are many more available in programming (see the List of Data Structures on WikiPedia for example). For now, the list and dictionary will serve our purposes, but as you advance your programming skills, you will likely find occasions to learn more data structures.

List of Additional Data Structures

The following list outlines some of the next data structures I recommend learning to use:

Tuple: The tuple is nearly identical to lists in that it is an indexed sequence; however, unlike the list, tuples are immutable.

Set: A set is a collection of unique and unordered elements. Unlike lists and tuples, sets cannot have duplicate values, and their order is not guaranteed.

Nodes: In data structures, a node is a basic unit within some structures and is usually depicted in data structure diagrams by either box (linked lists, hash tables, etc.) or circles (trees, graphs, etc.). Nodes generally contain memory addresses (pointers) to other nodes and possibly data elements.

Linked Lists: A linked list is a fundamental data structure comprised of a sequence of nodes, each element links to the next element in the data structure, which links to the next element, and so on. The links are object references to the memory location of each subsequent element in the list. Linked lists can contain any data type, they can be sorted or unsorted and can have duplicate or unique values.

Stacks: A stack is a data structure that follows a Last-In First-Out (LIFO) access pattern, like a stack of books. We stack books one on top of another, and when we want a book, we take one off of the top. The stack data structure in programming is conceptually the same, it is a structure that we put data elements into, one at a time, and then when we want one of the elements, we take the last element that was added first.

Queues: A queue is a data structure that follows a First-In First-Out (FIFO) pattern of access, like the line (queue) of people in the image above. People line (queue) up, for example, at a coffee shop. The first person in line was the first and will be the first to receive service. When that person is done, they leave, and the next (second) person is served, and so on.

Trees: Trees are an abstraction of hierarchical data structures that represent relationships between data (nodes), which we can use in programming to model those relationships.

Graphs: Graphs are used extensively in modeling real-world problems. For example, the map of a computer network in a business can be modeled using a graph. Social media connections ("friends") can be modeled using a graph. Determining the shortest flight paths of aircraft between cities can be modeled using graphs.

Maps: Maps are efficient interface containers that store key/value pairs. The keys in a map are the structure indexes and can be any object type. Keys cannot be duplicated in a map and each key maps to one value.



 





© 2023 John Gordon
Cascade Street Publishing, LLC