user9366862
user9366862

Reputation:

A list of a lists into a single string

Suppose I have a list of lists say

A = [[1,1,1,1],[2,2,2,2]]

and I want to create two strings from that to be

'1111'

'2222'

How would we do this in python?

Upvotes: 0

Views: 84

Answers (2)

Jab
Jab

Reputation: 27495

This is pretty easily done using join and a list comprehension.

A = [[1,1,1,1],[2,2,2,2]]
a_strings = [''.join(map(str, sub_list)) for sublist in A]

See, join() takes a list of strings and makes a string concatenating all the substrings and the list comprehension I used just loops through them all. Above I combined the 2 together.


On a second thought

map() is actually deemed more efficient (when not using lambda.. etc) and for SOME more readable. I'll just add an approach using map instead of a comprehension.

a_strings = map(''.join(), map(str, A))

This first takes the inner map and makes all the ints > strs then joins all the strs together for every sub-list.

Hopefully this makes things a bit more chewable for ya, each method is close to equivalent such that for this case you could consider them style choices.

Upvotes: 1

U13-Forward
U13-Forward

Reputation: 71580

Maybe list comprehension:

>>> A = [[1,1,1,1],[2,2,2,2]]
>>> l=[''.join(map(str,i)) for i in A]
>>> l
['1111', '2222']
>>> 

Now you've got it.

Upvotes: 5

Related Questions