Last modified: Nov 27, 2024 By Alexander Williams

Iterate Over Object and Add to List Python

In Python, iterating over an object and adding its elements to a list is a common task. This guide covers different ways to achieve this with practical examples.

Understanding Iterables in Python

Before diving into examples, it’s important to understand what an iterable is. An iterable is any Python object you can loop through using a for loop.

Examples of iterables include lists, tuples, dictionaries, strings, and even custom objects implementing the __iter__ method.

Using a for Loop to Add to a List

The simplest way to iterate over an iterable and add its elements to a list is by using a for loop.


# Example: Adding elements of a list to a new list
numbers = [1, 2, 3, 4]
result = []

for num in numbers:
    result.append(num)

print("Result:", result)


Result: [1, 2, 3, 4]

The append() method adds an element to the end of the list.

Using List Comprehension

List comprehensions provide a concise way to iterate over objects and add elements to a new list in a single line.


# Example: Using list comprehension
numbers = [1, 2, 3, 4]
result = [num for num in numbers]

print("Result:", result)


Result: [1, 2, 3, 4]

Tip: Use list comprehensions for clean and readable code when the logic is simple.

Iterating Over a Dictionary

To iterate over a dictionary, you can use its keys, values, or key-value pairs. Here’s an example of adding keys to a list:


# Example: Adding dictionary keys to a list
my_dict = {"a": 1, "b": 2, "c": 3}
keys_list = []

for key in my_dict:
    keys_list.append(key)

print("Keys:", keys_list)


Keys: ['a', 'b', 'c']

Similarly, you can use my_dict.values() to iterate over values or my_dict.items() for key-value pairs.

Using extend() for Iterables

The extend() method is an efficient way to add all elements of an iterable to a list.


# Example: Adding elements using extend()
numbers = [1, 2, 3, 4]
result = []

result.extend(numbers)
print("Result:", result)


Result: [1, 2, 3, 4]

Note: Use extend() when you want to add multiple elements at once.

Using a Custom Object

If you're working with a custom object that implements the __iter__ method, you can iterate over it and add elements to a list.


# Example: Iterating over a custom object
class CustomIterable:
    def __init__(self, data):
        self.data = data

    def __iter__(self):
        return iter(self.data)

my_object = CustomIterable([10, 20, 30])
result = []

for item in my_object:
    result.append(item)

print("Result:", result)


Result: [10, 20, 30]

This demonstrates how Python's flexibility allows you to work with custom data structures.

Using map() for Transformation

The map() function applies a transformation to each element of an iterable and can add the results to a list.


# Example: Using map to transform and add elements
numbers = [1, 2, 3, 4]
result = list(map(lambda x: x * 2, numbers))

print("Result:", result)


Result: [2, 4, 6, 8]

Tip: Use map() for concise transformations when a function or lambda suffices.

Related Reading

Check out these related articles to expand your Python skills:

Conclusion

Python offers versatile ways to iterate over objects and add their elements to a list. Choose the method that fits your specific use case for better efficiency and readability.