I did not get this question right. The function read_words turns a text file with a bunch of names in new lines into a list and it works.
def read_words(words_file):
""" (file open for reading) -> list of str
Return a list of all words (with newlines removed) from open file
words_file.
Precondition: Each line of the file contains a word in uppercase characters
from the standard English alphabet.
"""
words_list = []
words = words_file.readlines()
for i in range(len(words)):
new_word = words[i]
for char in '\n':
new_word = new_word.replace(char,'')
words_list.append(new_word)
return words_list
the problem arises when I try to get a list of lists
def read_board(board_file):
""" (file open for reading) -> list of list of str
Return a board read from open file board_file. The board file will contain
one row of the board per line. Newlines are not included in the board.
"""
board_list = []
row_list = []
rows = read_words(board_file)
for i in range(len(rows)):
for char in rows[i]:
row_list.append(char)
board_list.append(row_list)
return board_list
the goal is to turn a text file of the type:
ABCD
EFGH
into [['A','B','C','D'],['E','F','G','H']]
I have already tried playing around with the indices for board_list.append(row_list) call without luck. How can I get this to work?
[list(line) for line in file]?