# Change the string so that it contains all vowels at least once

Learn examples from DataCamp guru:

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 ` `)] `   ` # 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 `
Learn examples from DataCamp guru: