Method # 1: Using a Loop
This is a brute force method in which this task can be accomplished. In this we iterate over the list and do string concatenation using the * operator and continue to construct the string that way.
# Python3 code to demonstrate how it works # Construct a string from character frequency # using a loop # initialize the list test_list = [( ’g’ , 4 ), ( ’f’ , 3 ), ( ’g’ , 2 )] p> # print original list print ( " The original list: " + str (test_list)) # Construct a string from character frequency # using a loop res = ’’ for char, freq in test_list: res = res + char * freq # print result print ( "The constructed string is:" + str (res)) |
Output:
The original list: [(’g’, 4), (’f’, 3), (’ g’, 2)] The constructed string is: ggggfffgg
Method # 2: Using join ()
+ list comprehension
A combination of the above functions can be used to accomplish this task. In this we perform the extraction task using a list comprehension and creating a string using join ().
# Python3 code to demonstrate how it works # Construct a string from character frequency # using join () + list comprehension # initialize the list test_list = [( ’g’ , 4 ), ( ’ f’ , 3 ), ( ’ g’ , 2 )] # print original list print ( "The original list:" + str (test_list)) # Construct string from character frequency # using join () + list comprehension res = ’’ .join (char * freq for char, freq in test_list) # print result print ( "The constructed string is:" + str (res)) |
Output:
The original list: [(’g’, 4), (’ f’, 3), (’g’, 2)] The constructed string is: ggggfffgg
Python | Construct string from character tuple Python functions: Questions
Python | Construct string from character tuple String Variables: Questions