Python data structures comparison¶
Python provides several built-in data structures to organize and store data, each with unique characteristics that suit different programming scenarios^[400-devops-09-scripting-language-python-introduction-readme.md]. The choice of structure depends on the specific needs of the application, such as how data is accessed, managed, and iterated over^[400-devops-09-scripting-language-python-introduction-readme.md].
Lists (Arrays)¶
Lists (also referred to as arrays in the source context) are ordered collections used to store multiple items, such as a sequence of customer records^[400-devops-09-scripting-language-python-introduction-readme.md].
- Index-based Access: Elements are accessed by their numerical index position, starting at
0^[400-devops-09-scripting-language-python-introduction-readme.md]. - Dynamic Sizing: While the source notes that arrays are "fixed in size" in some contexts (requiring methods to add items), Python lists are dynamic^[400-devops-09-scripting-language-python-introduction-readme.md].
- Modification: New items can be added using the
append()method, and specific items can be removed using theremove()method^[400-devops-09-scripting-language-python-introduction-readme.md]. - Usage: They are ideal for returning or managing groups of similar objects, such as a list of customer names^[400-devops-09-scripting-language-python-introduction-readme.md].
Dictionaries¶
Dictionaries store data as key-value pairs, offering a significant advantage over lists when data retrieval is based on specific identifiers rather than numerical indices^[400-devops-09-scripting-language-python-introduction-readme.md].
- Key-based Access: Items are found and retrieved using a unique key (e.g., a customer ID), eliminating the need to know the index or write loops to find data^[400-devops-09-scripting-language-python-introduction-readme.md].
- Structure: Data is stored in a format where a specific key maps to a specific value^[400-devops-09-scripting-language-python-introduction-readme.md].
- Manipulation: You can easily update values or create new entries by assigning a value to a specific key (e.g.,
customers["h"] = "Marcel Dempers")^[400-devops-09-scripting-language-python-introduction-readme.md]. - Usage: They are particularly useful for representing records where attributes (like names or IDs) are associated with unique identifiers^[400-devops-09-scripting-language-python-introduction-readme.md].
Comparison Summary¶
| Feature | Lists (Arrays) | Dictionaries |
|---|---|---|
| Access Method | Integer Index (e.g., 0, 1)^[400-devops-09-scripting-language-python-introduction-readme.md] |
Unique Key (e.g., "customer_id")^[400-devops-09-scripting-language-python-introduction-readme.md] |
| Retrieval Logic | Requires knowing the index position^[400-devops-09-scripting-language-python-introduction-readme.md] | Requires knowing the specific key^[400-devops-09-scripting-language-python-introduction-readme.md] |
| Modification | append() to add, remove() to delete^[400-devops-09-scripting-language-python-introduction-readme.md] |
Direct assignment via key (e.g., dict["key"] = value)^[400-devops-09-scripting-language-python-introduction-readme.md] |
Related Concepts¶
- [[Control Flows]]: Often used in conjunction with data structures to apply logic based on data values.
- [[Loops]]: Used to iterate over lists or dictionaries to process collections of data^[400-devops-09-scripting-language-python-introduction-readme.md].
- [[Classes and Objects]]: Advanced structures that can group related variables (like customer details) into single entities, often stored within lists or dictionaries^[400-devops-09-scripting-language-python-introduction-readme.md].
Sources¶
^[400-devops-09-scripting-language-python-introduction-readme.md]