# Python – String Matrix Concatenation

• Difficulty Level : Easy
• Last Updated : 31 Jan, 2023

Sometimes, while working with Matrix we can have a problem in which we have Strings and we need a universal concatenation of all the String present in it. Let’s discuss certain ways in which this task can be performed.

Method #1 : Using list comprehension + join() We can solve this problem using list comprehension as a potential shorthand to the conventional loops that we may use to perform this particular task. We just join the elements extracted and put them into a as a single string.

## Python3

 `# Python3 code to demonstrate``# String Matrix Concatenation``# Using list comprehension` `# initializing list``test_list ``=` `[[``"geeksforgeeks"``, ``" is"``, ``" best"``], [``" I"``, ``" Love"``], [``" Gfg"``]]` `# printing original list``print``(``"The original list : "` `+` `str``(test_list))` `# using list comprehension``# count of all the elements in list``res ``=` `"".join([ele ``for` `sub ``in` `test_list ``for` `ele ``in` `sub])` `# print result``print``(``"The Matrix Concatenation is : "` `+` `str``(res))`

Output

```The original list : [['geeksforgeeks', ' is', ' best'], [' I', ' Love'], [' Gfg']]
The Matrix Concatenation is : geeksforgeeks is best I Love Gfg
```

Method #2: Using chain() + join() This particular problem can also be solved using the chain function instead of list comprehension in which we use the conventional join function to join.

## Python3

 `# Python3 code to demonstrate``# String Matrix Concatenation``# Using chain() + join()``from` `itertools ``import` `chain` `# initializing list``test_list ``=` `[[``"geeksforgeeks"``, ``" is"``, ``" best"``], [``" I"``, ``" Love"``], [``" Gfg"``]]` `# printing original list``print``(``"The original list : "` `+` `str``(test_list))` `# using chain() + join()``# String Matrix Concatenation``res ``=` `"".join(``list``(chain(``*``test_list)))` `# print result``print``(``"The Matrix Concatenation is : "` `+` `str``(res))`

Output

```The original list : [['geeksforgeeks', ' is', ' best'], [' I', ' Love'], [' Gfg']]
The Matrix Concatenation is : geeksforgeeks is best I Love Gfg
```

Method #3 : Using  extend() and join() methods

## Python3

 `# Python3 code to demonstrate``# String Matrix Concatenation` `# initializing list``test_list ``=` `[[``"geeksforgeeks"``, ``" is"``, ``" best"``], [``" I"``, ``" Love"``], [``" Gfg"``]]` `# printing original list``print``(``"The original list : "` `+` `str``(test_list))` `res``=``[]``for` `i ``in` `test_list:``    ``res.extend(i)``res``=``" "``.join(res)` `# print result``print``(``"The Matrix Concatenation is : "` `+` `str``(res))`

Output

```The original list : [['geeksforgeeks', ' is', ' best'], [' I', ' Love'], [' Gfg']]
The Matrix Concatenation is : geeksforgeeks  is  best  I  Love  Gfg
```

Method #4 : Using  reduce()

Here, reduce() function applies the lambda function to the items of the list in a cumulative way, such that the first item is passed as the first argument, the second item as the second argument and so on. In this case, the lambda function takes two arguments x and y and concatenates them.

## Python3

 `from` `functools ``import` `reduce` `# initializing list``test_list ``=` `[[``"geeksforgeeks"``, ``" is"``, ``" best"``], [``" I"``, ``" Love"``], [``" Gfg"``]]` `# printing original list``print``(``"The original list : "` `+` `str``(test_list))` `# using reduce()``result ``=` `reduce``(``lambda` `x, y: x``+``y, ``reduce``(``lambda` `x, y: x``+``y, test_list))` `# print result``print``(``"The Matrix Concatenation is : "` `+` `str``(result))``#This code is contributed by Edula Vinay Kumar Reddy`

Output

```The original list : [['geeksforgeeks', ' is', ' best'], [' I', ' Love'], [' Gfg']]
The Matrix Concatenation is : geeksforgeeks is best I Love Gfg
```

Time complexity: O(n)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up