簡體   English   中英

str列表列表

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM