Saturday, 08 February 2025

Merging arrays in Python

Python 

Merging arrays (or lists) in Python can be done in several ways depending on your specific needs. Below are some examples:

1. Using the + Operator

The + operator can be used to concatenate two lists.

array1 = [1, 2, 3]
array2 = [4, 5, 6]
merged_array = array1 + array2
print(merged_array)  # Output: [1, 2, 3, 4, 5, 6]

2. Using the extend() Method

The extend() method adds the elements of one list to the end of another list.

array1 = [1, 2, 3]
array2 = [4, 5, 6]
array1.extend(array2)
print(array1)  # Output: [1, 2, 3, 4, 5, 6]

3. Using the append() Method

The append() method adds a single element (which can be another list) to the end of a list. This is useful if you want to merge lists but keep them as separate elements.

array1 = [1, 2, 3]
array2 = [4, 5, 6]
array1.append(array2)
print(array1)  # Output: [1, 2, 3, [4, 5, 6]]

4. Using List Comprehension

List comprehension can be used to merge lists in a more complex way, such as merging elements conditionally.

array1 = [1, 2, 3]
array2 = [4, 5, 6]
merged_array = [x for x in array1] + [x for x in array2]
print(merged_array)  # Output: [1, 2, 3, 4, 5, 6]

5. Using the itertools.chain() Function

The itertools.chain() function can be used to merge multiple lists efficiently, especially when dealing with large lists.

import itertools

array1 = [1, 2, 3]
array2 = [4, 5, 6]
merged_array = list(itertools.chain(array1, array2))
print(merged_array)  # Output: [1, 2, 3, 4, 5, 6]

6. Using the * Operator (Unpacking)

You can use the * operator to unpack multiple lists into a single list.

array1 = [1, 2, 3]
array2 = [4, 5, 6]
merged_array = [*array1, *array2]
print(merged_array)  # Output: [1, 2, 3, 4, 5, 6]

7. Merging with Duplicates Removed

If you want to merge lists and remove duplicates, you can use the set data structure.

array1 = [1, 2, 3]
array2 = [3, 4, 5]
merged_array = list(set(array1 + array2))
print(merged_array)  # Output: [1, 2, 3, 4, 5]

8. Merging Nested Lists

If you have nested lists and want to flatten them while merging, you can use list comprehension or itertools.chain().

import itertools

array1 = [[1, 2], [3, 4]]
array2 = [[5, 6], [7, 8]]
merged_array = list(itertools.chain(*array1, *array2))
print(merged_array)  # Output: [1, 2, 3, 4, 5, 6, 7, 8]

9. Merging with Sorting

If you want to merge lists and sort the result, you can use the sorted() function.

array1 = [3, 1, 2]
array2 = [6, 4, 5]
merged_array = sorted(array1 + array2)
print(merged_array)  # Output: [1, 2, 3, 4, 5, 6]

10. Merging with Custom Logic

You can also merge lists with custom logic, such as alternating elements from each list.

array1 = [1, 3, 5]
array2 = [2, 4, 6]
merged_array = [x for pair in zip(array1, array2) for x in pair]
print(merged_array)  # Output: [1, 2, 3, 4, 5, 6]

These are just a few examples of how you can merge arrays (lists) in Python. The method you choose will depend on your specific use case.



Search