Union of Python Tuples

A tuple is a sequential, immutable data structure in Python consisting of multiple values. Since tuples are immutable, finding their union requires creative approaches using mutable data structures like sets. The union operation combines elements from multiple tuples while removing duplicates.

The union of Python tuples finds applications in removing duplicates, merging data sources, set operations, data deduplication, merging multiple results, database operations, handling data overlaps, and set operations in machine learning.

Using Set and '+' Operator

Convert tuples to a set after concatenation. Sets automatically remove duplicate elements ?

# Taking two tuples
tuple1 = (1, 2, 3, 4)
tuple2 = (3, 4, 5, 6, 7)

# Displaying the tuples
print("Tuple 1:", tuple1)
print("Tuple 2:", tuple2)

# Union using set and + operator
union_set = set(tuple1 + tuple2)
tuple_union = tuple(union_set)

# Printing the union of tuples
print("Union of tuples:", tuple_union)
Tuple 1: (1, 2, 3, 4)
Tuple 2: (3, 4, 5, 6, 7)
Union of tuples: (1, 2, 3, 4, 5, 6, 7)

Using Set union() Method

Convert each tuple to a set, then use the builtin union() method ?

def tuple_union(tuple1, tuple2):
    set1 = set(tuple1)
    set2 = set(tuple2)
    union_set = set1.union(set2)
    return tuple(union_set)

tuple1 = (1, 2, 3, 4)
tuple2 = (3, 4, 5, 6, 7)

# Displaying the tuples
print("Tuple 1:", tuple1)
print("Tuple 2:", tuple2)

# Union of tuples
tuple_uni = tuple_union(tuple1, tuple2)
print("Union of tuples:", tuple_uni)
Tuple 1: (1, 2, 3, 4)
Tuple 2: (3, 4, 5, 6, 7)
Union of tuples: (1, 2, 3, 4, 5, 6, 7)

Using Unpacking Operator (*)

Unpack both tuples directly into a set constructor for efficient union ?

def tuple_union(tuple1, tuple2):
    union_set = set((*tuple1, *tuple2))
    return tuple(union_set)

# Taking two tuples
tuple1 = (1, 2, 3, 4)
tuple2 = (3, 4, 5, 6, 7)

# Displaying the tuples
print("Tuple 1:", tuple1)
print("Tuple 2:", tuple2)

# Union of tuples
tuple_uni = tuple_union(tuple1, tuple2)
print("Union of tuples:", tuple_uni)
Tuple 1: (1, 2, 3, 4)
Tuple 2: (3, 4, 5, 6, 7)
Union of tuples: (1, 2, 3, 4, 5, 6, 7)

Using itertools.chain()

Chain iterables together, then convert to set for duplicate removal ?

import itertools

def tuple_union(tuple1, tuple2):
    chain_iterables = itertools.chain(tuple1, tuple2)
    union_set = set(chain_iterables)
    return tuple(union_set)

# Taking two tuples
tuple1 = (1, 2, 3, 4)
tuple2 = (3, 4, 5, 6, 7)

# Displaying the tuples
print("Tuple 1:", tuple1)
print("Tuple 2:", tuple2)

# Union of tuples
tuple_uni = tuple_union(tuple1, tuple2)
print("Union of tuples:", tuple_uni)
Tuple 1: (1, 2, 3, 4)
Tuple 2: (3, 4, 5, 6, 7)
Union of tuples: (1, 2, 3, 4, 5, 6, 7)

Comparison

Method Readability Performance Best For
Set + '+' Operator High Good Simple cases
Set union() High Good Clear intent
Unpacking (*) Medium Best Performancecritical
itertools.chain() Medium Good Multiple tuples

Conclusion

All methods effectively find tuple unions by leveraging sets for duplicate removal. Use unpacking (*) for performance or set.union() for clarity. The choice depends on readability and performance requirements.

Updated on: 2026-03-27T14:04:02+05:30

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements