python:划分不同大小的列表/数组

时间:2017-11-11 12:38:50

标签: python arrays list

有没有一种简单的方法可以将列表划分为不同大小的不同列表? 我在文件中有这些元素:

5 5 6 7 8 9
1 3 4 53 4
1 23
13 312
22 111 123

我想得到一个包含这些元素的数组/列表

list= [5,5,6,7,8,9],[1,3,4,53,4],[1,23],[13,312],[22,111,123]

它必须应用于任何文件(它们将始终是带整数的文件),重要的是它将每个'\ n'中的数组/列表分开

我想避免使用外部导入(例如numpy),我只需要使用Python提供的工具。

2 个答案:

答案 0 :(得分:1)

这很简单。请记住,文件是线上的迭代。

>>> # demo-list that imitates your file
>>> file = '''5 5 6 7 8 9
... 1 3 4 53 4
... 1 23
... 13 312
... 22 111 123'''.splitlines()
>>> 
>>> [map(int, line.split()) for line in file]
[[5, 5, 6, 7, 8, 9], [1, 3, 4, 53, 4], [1, 23], [13, 312], [22, 111, 123]]

答案 1 :(得分:1)

您可以使用此代码将文本文件的所有行读取到列表中,然后从每行创建一个列表:

with open('path/to/your/file', 'r') as f:
    lists = [line.strip().split() for line in f]