 Open in App
Not now

# Python – Concatenate string rows in Matrix

• Last Updated : 21 Mar, 2023

The problems concerning matrix are quite common in both competitive programming and Data Science domain. One such problem that we might face is of finding the concatenation of rows of matrix in uneven sized matrix. Let’s discuss certain ways in which this problem can be solved.

Method #1 : Using join() + list comprehension The combination of above functions can help to get the solution to this particular problem in just a one line and hence quite useful. The join function computes the concatenation of sublists and all this bound together using list comprehension.

## Python3

 `# Python3 code to demonstrate``# Row String Concatenation Matrix``# using join() + list comprehension` `# initializing list``test_list ``=` `[[``'gfg'``, ``' is'``, ``' best'``], [``'Computer'``, ``' Science'``], [``'GeeksforGeeks'``]]` `# printing original list``print``("The original ``list` `: " ``+` `str``(test_list))` `# using join() + list comprehension``# Row String Concatenation Matrix``res ``=` `[''.join(idx ``for` `idx ``in` `sub) ``for` `sub ``in` `test_list ]` `# print result``print``("The row concatenation ``in` `matrix : " ``+` `str``(res))`

Output :

```The original list : [['gfg', ' is', ' best'], ['Computer', ' Science'], ['GeeksforGeeks']]
The row concatenation in matrix : ['gfg is best', 'Computer Science', 'GeeksforGeeks']```

Time complexity: O(m*n), because it performs the same number of iterations as the original code.
Auxiliary space: O(m*n) as well, because it creates a dictionary with m * n keys and a list of m * n elements

Method #2 : Using loop This task can also be performed in brute force manner in which we just iterate the sublists and perform join in brute manner creating new string for each sublist and appending in list.

## Python3

 `# Python3 code to demonstrate``# Row String Concatenation Matrix``# using loop` `# initializing list``test_list ``=` `[[``'gfg'``, ``' is'``, ``' best'``], [``'Computer'``, ``' Science'``], [``'GeeksforGeeks'``]]` `# printing original list``print``("The original ``list` `: " ``+` `str``(test_list))` `# using loop``# Row String Concatenation Matrix``res ``=` `[]``for` `sub ``in` `test_list:``    ``res_sub ``=` `""``    ``for` `idx ``in` `sub:``        ``res_sub ``=` `res_sub ``+` `idx``    ``res.append(res_sub)` `# print result``print``("The row concatenation ``in` `matrix : " ``+` `str``(res))`

Output :

```The original list : [['gfg', ' is', ' best'], ['Computer', ' Science'], ['GeeksforGeeks']]
The row concatenation in matrix : ['gfg is best', 'Computer Science', 'GeeksforGeeks']```

Approach 3 : Using map() function
This approach is similar to the method 2, but here we use map function instead of loop, as map can save time and has a cleaner implementation.

## Python3

 `# Python3 code to demonstrate``# Row String Concatenation Matrix``# using map() function``  ` `# initializing list``test_list ``=` `[[``'gfg'``, ``' is'``, ``' best'``], [``'Computer'``, ``' Science'``], [``'GeeksforGeeks'``]]``  ` `# printing original list``print``(``"The original list : "` `+` `str``(test_list))``  ` `# using map() function``# Row String Concatenation Matrix``res ``=` `list``(``map``(``lambda` `x : ''.join(x), test_list))``  ` `# print result``print``(``"The row concatenation in matrix : "` `+` `str``(res))` `#This code is contributed by Edula Vinay Kumar Reddy`

Output

```The original list : [['gfg', ' is', ' best'], ['Computer', ' Science'], ['GeeksforGeeks']]
The row concatenation in matrix : ['gfg is best', 'Computer Science', 'GeeksforGeeks']```

Time Complexity : O(N * M) , N is number of rows and M is length of longest sublist.

Auxiliary Space : O(N) , N is number of rows.

My Personal Notes arrow_drop_up