これが一般的な解決策です。指定された区切り記号と指定された左および右の括弧文字を使用して、シーケンスを文字列に変換します。
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))
isinstance(seq, basestr)
コードにそのチェックがあるのはなぜですか?理由は次のとおりです。
オブジェクトがリストまたはタプル(文字列ではない)かどうかを確認する方法は?