Skip to content
Related Articles

Related Articles

Python | Group tuples in list with same first value
  • Last Updated : 08 Apr, 2019

Given a list of tuples, the task is to print another list containing tuple of same first element. Below are some ways to achieve above tasks.

Example:

Input : [('x', 'y'), ('x', 'z'), ('w', 't')]

Output: [('w', 't'), ('x', 'y', 'z')]

Method #1: Using extend




# Python code to find common 
# first element in list of tuple
  
# Function to solve the task
def find(Input):
    out = {}
    for elem in Input:
        try:
            out[elem[0]].extend(elem[1:])
        except KeyError:
            out[elem[0]] = list(elem)
    return [tuple(values) for values in out.values()]
  
# List initialization
Input = [('x', 'y'), ('x', 'z'), ('w', 't')]
  
# Calling function
Output = (find(Input))
  
# Printing
print("Initial list of tuple is :", Input)
print("List showing common first element", Output)
Output:
Initial list of tuple is : [('x', 'y'), ('x', 'z'), ('w', 't')]
List showing common first element [('w', 't'), ('x', 'y', 'z')]

 



Method #2: Using defaultdict




# Python code to find common first
# element in list of tuple
  
# Importing
from collections import defaultdict
  
# Function to solve the task
def find(pairs):
    mapp = defaultdict(list)
    for x, y in pairs:
        mapp[x].append(y)
    return [(x, *y) for x, y in mapp.items()]
  
# Input list initialization
Input = [('p', 'q'), ('p', 'r'),
         ('p', 's'), ('m', 't')]
  
# calling function
Output = find(Input)
  
# Printing
print("Initial list of tuple is :", Input)
print("List showing common first element", Output)
Output:
Initial list of tuple is : [('p', 'q'), ('p', 'r'), ('p', 's'), ('m', 't')]
List showing common first element [('m', 't'), ('p', 'q', 'r', 's')]

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up
Recommended Articles
Page :