Печать двумерного списка в python без запятых

Я бы хотел напечатать 2D-список в python без запятых.

Вместо печати

[[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] ... ] 

Я хочу распечатать

 [[0 0 0 0 0 1 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] ... ] 

Любое понимание того, как я должен поступать так же?

Благодаря!

Просто: просто замените запятые пробелами после преобразования в строку с repr .

 def repr_with_spaces(lst): return repr(lst).replace(",", " ") 

(Это работает для списков целых чисел, но не обязательно для чего-либо еще.)

Вот общее решение. Преобразуйте последовательность в строку с использованием указанного разделителя и задайте символы левого и правого брекетинга.

 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) ? Вот почему:

Как проверить, является ли объект списком или кортежем (но не строкой)?

Общее, безопасное и рекурсивное решение, которое работает, если данные содержат запятые:

 def my_repr(o): if isinstance(o, list): return '[' + ' '.join(my_repr(x) for x in o) + ']' else: return repr(o) 

Реализация list_repr на list_repr использует необходимый алгоритм (используя _PyString_Join ).

Есть несколько способов:

 your_string.replace(',',' ') ' '.join(your_string.split(',')) 

Ну, как однострочный, применяемый к массиву в переменной «a»:

 print "[" + ' '.join(map(lambda row: "[" + ' '.join(map(str, row)) + "] ", a)) + "]" 

Вы можете использовать str.join() :

 lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] def format_list(items): list_contents = ' '.join(str(it) for it in items) # convert contents to string too return '[{}]'.format(list_contents) # wrap in brackets formatted = format_list(format_list(l) for l in lists) 

Идеальный пример: http://ideone.com/g1VdE

Является

 str([1,2],[3,4]).replace(","," ") 

что вы хотели?