lists, tuples, sets, and dictionaries in Python based on various characteristics:
Mutability:
Lists: Mutable. You can modify, add, or remove elements after creation.
Tuples: Immutable. Once created, elements cannot be changed.
Sets: Mutable. You can add or remove elements, but each element must be unique.
Dictionaries: Mutable. You can add, modify, or remove key-value pairs.
Ordering:
Lists: Ordered. Elements are stored in a specific order and can be accessed by index.
Tuples: Ordered. Similar to lists, elements have a specific order.
Sets: Unordered. Elements have no specific order, and you cannot access them by index.
Dictionaries: Prior to Python 3.7, dictionaries were unordered. From Python 3.7 onwards, dictionaries maintain insertion order.
Duplicates:
Lists: Can contain duplicate elements.
Tuples: Can contain duplicate elements.
Sets: Cannot contain duplicate elements.
Dictionaries: Keys must be unique.
Syntax:
Lists: Defined using square brackets [].
Tuples: Defined using parentheses ().
Sets: Defined using curly braces {}.
Dictionaries: Defined using curly braces {} with key-value pairs separated by colons.
Use Cases:
Lists: Use when you need a mutable, ordered collection with the possibility of duplicate elements.
Tuples: Use when you need an immutable, ordered collection. Suitable for situations where data should not be changed.
Sets: Use when you need an unordered collection of unique elements and order doesn't matter.
Dictionaries: Use when you need a mutable collection of key-value pairs, providing fast lookup based on keys.
Example:
my_list = [1, 2, 3]
my_tuple = (4, 5, 6)
my_set = {7, 8, 9}
my_dict = {'a': 10, 'b': 11, 'c': 12}