首页 > 解决方案 > 如何拆分成二维数组

问题描述

我正在为购物清单制作一个程序:)

数据将如下所示:

Amanda, Bananas, Apples, Oranges
Steve, Mushrooms, Pork, Spaghetti, Sauce
Dave, Onions, Eggs, Bread, Bacon

这是我到目前为止所拥有的

file = open(filename, "r")
readfile = file.read()
shlist = readfile.splitlines()

所以我创建了一个列表,其中每个人的购物都是列表中的一个项目。

是否可以将它们拆分为另一个列表,同时仍然是列表中的项目?我尝试添加以下内容:

for shopping in shlist:
    shopping.split(,)

但我收到一个错误。

或者,我可以只使用逗号的索引来推断项目的位置和长度。我不确定哪个是最好的。

标签: pythonpython-3.x

解决方案


好吧,您收到错误是因为您打算键入.split(','),但这仍然无法解决您的问题。对 split() 的调用需要一个字符串 a 作为结果生成一个字符串列表。结果不会神奇地替换字符串。

最简单的解决方案是:

with open(filename, "r") as file:
    result = [line.split(',') for line in file]

如果您同时需要拆分前行和拆分后行:

with open(filename, "r") as file:
    lines = file.readlines()
result = [line.split(',') for line in lines]

推荐阅读