Python:二维列表
问题 我需要从文本文件填充列表。该列表应为二维列表。我一直在为我的在线课程做一系列的活动,但我似乎找不到合适的代码。任何帮助都将不胜感激。文本文件应如下所示: textfile.txt 预期产出 我的当前代码Python:二维列表,python,list,matrix,python-3.3,Python,List,Matrix,Python 3.3,问题 我需要从文本文件填充列表。该列表应为二维列表。我一直在为我的在线课程做一系列的活动,但我似乎找不到合适的代码。任何帮助都将不胜感激。文本文件应如下所示: textfile.txt 预期产出 我的当前代码 twoDlist = [] f = open("textfile.txt") r = f.readlines() for i in r: twoDlist.append(i.strip()) print(twoDlist) 要修复现有代码,应将i.strip()替换为 演示: 输
twoDlist = []
f = open("textfile.txt")
r = f.readlines()
for i in r:
twoDlist.append(i.strip())
print(twoDlist)
要修复现有代码,应将
i.strip()
替换为
演示:
输出:
[['A', 'B', 'C', 'D', 'E', 'F'], ['G', 'H', 'I', 'J', 'K', 'L'], ['M', 'N', 'O', 'P', 'Q', 'R'], ['S', 'T', 'U', 'V', 'W', 'X']]
更好的方法是:
twoDlist = []
with open("textfile.txt") as f:
twoDlist = [line.split() for line in f]
print(twoDlist)
通过这种方式,您可以处理文件管理 这个呢:
twoDlist = map(str.split, f)
更新:
正如zondo所指出的,如果您正在使用Python3,您应该:
twoDlist = list(map(str.split, f))
因为map将返回一个map对象而不是列表。是的,这是一个粗心的输入错误。谢谢你的更正。
twoDlist = []
with open("textfile.txt") as f:
twoDlist = [line.split() for line in f]
print(twoDlist)
twoDlist = map(str.split, f)
twoDlist = list(map(str.split, f))