2013-03-12 4 views
2

Я читаю в файле, который содержит матрицу целых чисел, каждая из которых разделена запятой. До сих пор у меня есть:python list list insert newline

def open_file(file): 
    with open('network.txt') as f: 
     Alist = [] 
     for line in f: 
      part = [] 
      for x in line.split(','): 
       part.append(int(x)) 
      Alist.append(part) 
    print Alist 

open_file(file) 

Это успешно отображает значения, но отображает их в прямой, и это не так, как мне нужно, чтобы они были. Для каждой «строки» целых чисел я хотел бы начать новую строку, чтобы они строились до строки 6x6. Я попытался напечатать новые строки в разных частях кода, но он не сработал и вместо этого выводит новые строки, равные количеству строк, которые он обнаруживает во всем файле перед отображением чисел. При работе с матрицами было бы лучше удалить любые запятые?

Также при создании матрицы я намереваюсь начать с разрешения 1,1, а затем найти любых соседей (1,2 и 2,1). Могу ли я указать правильное направление того, как это будет выполнено, поскольку мои поиски не возвратили никаких полезных результатов. Я мог бы легко искать не так.

Это домашнее задание.

+0

почему бы не использовать 'csv' модуль: http://docs.python.org/2/library/csv.html? –

ответ

3

Это вы что искали?

for row in Alist: 
    print row 

Для перехода к смежным ячейкам в сетке все, что вам нужно сделать, - это увеличить индекс для строки или столбца. Перемещение с Alist[0][0] направо было бы Alist[0][1] и вниз было бы Alist[1][0].

+0

отлично работает, спасибо за другую информацию – bigl

1

Или несколько более "вещий" путь

print "\n".join(str(row) for row in Alist)