List in Python
Complete and in-depth guide to Python lists: creation, indexing, slicing, mutation, traversal, searching, insertion, deletion, sorting, copying, nested lists, unpacking, built-in functions, and powerful list comprehensions.
List Creation
Lists are ordered, mutable collections in Python. They can store mixed data types and grow dynamically.
1. List Literal
Create lists using square brackets.
2. list() Constructor
Convert iterables to lists.
List Fundamentals
Lists are dynamic and mutable.
1. Getting List Size
Use len().
2. Accessing Elements
Index starts from 0.
3. Slicing
Extract sublists.
4. Updating Elements
Lists are mutable.
Insertion & Removal
Python provides multiple mutation methods.
1. append & pop
Add/remove from end.
2. insert & remove
Insert at index / remove by value.
3. del & clear
Delete by index or clear list.
Traversing Lists
Iterate using for, enumerate, or while.
1. for Loop
Iterate directly over values.
2. enumerate()
Get index and value.
Searching
Find elements safely.
1. Membership Check
Use in operator.
2. index()
Find index of value.
Sorting
Sort lists in place or return new list.
1. sort()
Sort in place.
2. sorted()
Returns new sorted list.
List Comprehension (Power Feature)
List comprehension is Python’s most powerful feature for transforming and filtering lists.
1. Basic Transformation (map alternative)
Transform each element.
2. Filtering (filter alternative)
Condition inside comprehension.
3. Find Alternative
Using next().
4. reduce Alternative
Use sum() or functools.reduce.
5. Nested Comprehension
Flatten nested list.
Shallow & Deep Copy
Understand reference behavior.
1. Shallow Copy
Use slicing or copy().
2. Deep Copy
Use copy module.
Packing & Unpacking
Packing collects multiple values into a list. Unpacking extracts elements from a list into variables. Python also supports extended unpacking using the * operator.
1. Packing Values into a List
Multiple values grouped into one list.
2. Basic Unpacking
Extract list elements into variables.
3. Extended Unpacking (*)
Capture remaining elements using *.
4. Unpacking Inside Loops
Unpack list elements while iterating.
Pattern Matching with Lists
Structural pattern matching allows matching list shapes and destructuring values safely.
1. Basic List Pattern
Match fixed-length list.
2. Matching Specific Values
Match certain list patterns.
3. Variable Length Matching (*)
Match lists of unknown length.
4. Pattern with Guard Condition
Add condition after matching.