Here's a general solution. Convert a sequence into a string using a specified separator, and specified left and right bracketing characters.
lst = [[0,0,0,0,0,1,1,1,1,1,1],[0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,1,1,0,1],[1,1,1]]
import sys
if sys.version_info[0] >= 3:
basestring = str
try:
from collections.abc import Iterable
except ImportError:
from collections import Iterable
def str_seq(seq, sep=' ', s_left='[', s_right=']'):
if isinstance(seq, basestring):
return seq
if isinstance(seq, Iterable):
s = sep.join(str_seq(x, sep, s_left, s_right) for x in seq)
return s_left + s + s_right
else:
return str(seq)
print(str_seq(lst))
Why does the code have that isinstance(seq, basestr)
check? Here is why:
How to check if an object is a list or tuple (but not string)?