with open("your_file.txt") as f:
array = [line.rstrip().split(";") for line in f]
解释:
第一行是打开文本文件的安全方法。(工作结束后文件将自动关闭)。在
在该行末尾的f成为iterable对象的名称-每次迭代我们都会从打开的文本文件中获得下一行完整的。在
现在我们使用该对象通过列表理解(第二行)创建列表-请参见该行末尾:
^{pr2}$
因为line包含整行,也就是说,后面有换行符(\n)符号,所以我们使用rstrip()方法将其删去:[line.rstrip() for line in f]
最后,我们将每个这样的字符串分割成一个列表(使用分隔符;)[line.rstrip().split(";") for line in f]
并将结果赋给变量array:array = [line.rstrip().split(";") for line in f]
测试:from pprint import pprint
pprint(array)
输出:[['13'],
['Alice', 'START'],
['Bob', 'START'],
['Bob', '1'],
['Carson', 'START'],
['Alice', '15'],
['Carson', '6'],
['David', 'START'],
['David', '24'],
['Evil', 'START'],
['Evil', '24'],
['Evil', 'START'],
['Evil', '18'],
['Fiona', 'START']]
注意:
文本文件的第一行包含数字13—它可能是剩余行的数量。如果要忽略它,只需将[1:]附加到第二行代码:with open("your_file.txt") as f:
array = [line.rstrip().split(";") for line in f][1:]