Python Data Collections

Learn about the data collection types in Python, including list, tuple, set, and dict.

Last updated: 2024-12-12

Python provides several data collection types that allow storing multiple elements within a single structure. These structures are designed for various tasks and make the code more convenient.

Types of Data Collections

Python includes the following primary data collection types:

  1. list
  2. tuple
  3. set
  4. dict

1. list

The list type is used to store ordered, mutable, and duplicate elements.

Features:

  • Ordered.
  • Elements can be modified, added, or removed.
  • Supports various data types.

Examples:

fruits = ["apple", "banana", "cherry"]
colors = ["red", "green", "blue"]
numbers = [1, 2, 3, 4, 5]

Useful Methods:

fruits.append("pear")    # Add element
fruits.remove("banana")   # Remove element
fruits.sort()              # Sort list
print(len(fruits))         # Get length

2. tuple

The tuple type is used to store ordered, immutable elements.

Features:

  • Ordered.
  • Elements cannot be modified.
  • Supports various data types.

Examples:

coordinates = (10.5, 25.4)
categories = ("book", "movie", "music")

Basic Operations:

print(coordinates[0])   # Access first element
print(len(categories))  # Get length

3. set

The set type is used to store unordered, unique elements.

Features:

  • Elements must be unique.
  • Unordered.
  • Supports mathematical operations.

Examples:

numbers = {1, 2, 3, 4, 5}
names = {"Ali", "Vali", "Sami"}

Useful Operations:

numbers.add(6)            # Add element
numbers.remove(2)         # Remove element
union_set = numbers.union({7, 8})        # Union
intersection_set = numbers.intersection({3, 4, 5})  # Intersection

4. dict

The dict type stores key-value pairs.

Features:

  • Ordered (Python 3.7+).
  • Keys must be unique.
  • Keys must be immutable types (int, str, tuple).

Examples:

student = {
    "name": "Ali",
    "age": 20,
    "year": 2
}

Useful Methods:

print(student["name"])        # Access value
student["year"] = 3          # Modify value
student["faculty"] = "IT"  # Add new key-value pair
print(student.keys())         # List of keys
print(student.values())       # List of values

Specialized Data Collections (Collections Module)

Python's collections module provides specialized data structures for managing collections. Some of them are:

  1. namedtuple — Creates named structures.
  2. deque — Optimized list for adding/removing items from both ends.
  3. ChainMap — Combines multiple dictionaries into a single view.
  4. Counter — Special dictionary for counting elements.
  5. OrderedDict — Keeps insertion order.
  6. defaultdict — Returns default values for missing keys.
  7. UserDict, UserList, UserString — Extend dictionary, list, and string objects.

Conclusion

Data collections are essential in Python programming, each designed for specific tasks. Using them properly enhances program efficiency and code clarity.

More Information

  1. Python Data Collections