[英]list of list of str
我正在嘗試編寫一個函數,該函數將在shell中打開一個.txt文件作為str列表的列表。
該文件是這樣的:
TYUIO
GHJKL
BNMCV
ASDFG
XCVBN
我需要我的函數返回:
[['T', 'Y', 'U', 'I', 'O'], ['G', 'H', 'J', 'K', 'L'], ...]
等等。
我寫的函數幾乎可以做到這一點。 它返回:
[['TYUIO'], ['GHJKL'], ...]
等等。 我需要更改/添加到此函數以使其返回正確的嵌套列表是什么?
這是我的功能:
board_list = []
for line in board_file:
items = line.rstrip('\n').split('\t')
items = [item.strip() for item in items]
board_list.append(items)
return board_list
有人可以幫忙嗎?
嘗試使用list()
和extend()
。
items = [list(item.strip()) for item in items]
board_list.extend(items)
假設每一行包含一個單詞,您也可以一行完成。 我不確定為什么要在\\t
上進行拆分,因此這可能對您不起作用。
with open("data.txt") as board_file:
board_list = [list(line) for line in board_file.read().split('\n') if line]
如果打開文本文件的結果是行列表,則我將此列表稱為listoflines ,因此我們可以定義以下函數:
def listof(listoflines):
board_list = []
board = []
for element in listoflines:
board_list.append((element.strip('\n')).split())
for member in board_list:
for i in range(len(member)):
board.append(list(member[i]))
return board
注意,您只是忘了將字符串轉換為值列表,為此,您可以使用內置的map函數 :
items = map(list, items)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.