Skip to content
Related Articles

Related Articles

Python – Concatenate Maximum Tuples

View Discussion
Improve Article
Save Article
  • Last Updated : 04 Sep, 2022
View Discussion
Improve Article
Save Article

Given a tuple list with string and its magnitude, the task is to write a python program to join all the strings with maximum magnitudes.

Examples:

Input : test_list = [(“Gfg is best”, 8), (“gfg is good”, 7), (“for”, 2), (“for all geeks”, 8)]

Output : “Gfg is best for all geeks”

Explanation : 8 is maximum tuple element and concatenation of keys yield the result.

Input : test_list = [(“Gfg is best”, 7), (“gfg is good”, 8), (“for”, 2), (“for all geeks”, 8)]

Output : “gfg is good for all geeks”

Explanation : 8 is maximum tuple element and concatenation of keys yield the result.

Method #1 : Using max() + itemgetter() + list comprehension + join()

In this, we perform task of getting maximum magnitude numbers using max(), itemgetter handles the index to query. The strings are joined by join() after matching using list comprehension.

Python3




# Python3 code to demonstrate working of
# Concatenate Maximum Tuples
# Using max() + itemgetter() + list comprehension + join()
from operator import itemgetter
 
# initializing list
test_list = [("Gfg is best", 8), ("gfg is good", 7),
             ("for", 2), ("for all geeks", 8)]
 
# printing original list
print("The original list is : " + str(test_list))
 
# getting maximum
max_ele = max(test_list, key=itemgetter(1))[1]
 
# joining maximum
res = ' '.join([key for key, ele in test_list if ele == max_ele])
 
# printing result
print("The maximum concatenated strings : " + str(res))


Output:

The original list is : [(‘Gfg is best’, 8), (‘gfg is good’, 7), (‘for’, 2), (‘for all geeks’, 8)]

The maximum concatenated strings : Gfg is best for all geeks

Method #2 : Using filter() + max() + itemgetter()

In this, we perform task of filtering using filter() rather than list comprehension. Rest all the functionalities is similar to all the method.

Python3




# Python3 code to demonstrate working of
# Concatenate Maximum Tuples
# Using filter() + max() + itemgetter()
from operator import itemgetter
 
# initializing list
test_list = [("Gfg is best", 8), ("gfg is good", 7),
             ("for", 2), ("for all geeks", 8)]
 
# printing original list
print("The original list is : " + str(test_list))
 
# getting maximum
max_ele = max(test_list, key=itemgetter(1))[1]
 
# joining maximum
# filter checks for maximum values and concats
res = " ".join([ele[0]
                for ele in filter(lambda ele: ele[1] == max_ele, test_list)])
 
# printing result
print("The maximum concatenated strings : " + str(res))


Output:

The original list is : [(‘Gfg is best’, 8), (‘gfg is good’, 7), (‘for’, 2), (‘for all geeks’, 8)]

The maximum concatenated strings : Gfg is best for all geeks

Method #3 : Using max() and for loop

Python3




# Python3 code to demonstrate working of
# Concatenate Maximum Tuples
 
# initializing list
test_list = [("Gfg is best", 8), ("gfg is good", 7),
            ("for", 2), ("for all geeks", 8)]
 
# printing original list
print("The original list is : " + str(test_list))
x=[]
for i in test_list:
    x.append(i[1])
ma=max(x)
res=[]
for i in test_list:
    if ma in i:
        res.append(i[0])
res=" ".join(res)
 
# printing result
print("The maximum concatenated strings : " + str(res))


Output

The original list is : [('Gfg is best', 8), ('gfg is good', 7), ('for', 2), ('for all geeks', 8)]
The maximum concatenated strings : Gfg is best for all geeks

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!