Python | Scramble strings in a list

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: