通过文本输入创建列表列表

时间:2019-05-01 20:16:56

标签: python

我正在尝试创建一个包含从.txt文件读取的列表的列表。内部列表最好是整数

我创建了两个从文本文件接收器创建的变量,第一个是接收器,而raw是从[1:]的原始文本文件的一部分。

从txt文件输入的示例

4,0,5,3,0,0,0,2,4,0,0,0,5,0,0,0,0

接收器= 4

raw = ['0','5','3','0','0','0','2','4','0','0','0', '5','0','0','0','0']

第一个数字表示除法(4),并且随着列表的增大或减小而发生良好的变化。 所以我想创建这样的东西 g = [[0,5,3,0],[0,0,2,4],[0,0,0,5],[0,0,0,0]]

抱歉,我删除了尝试。

(msr)$ conda activate msr
Could not find conda environment: msr
You can list all discoverable environments with `conda info --envs`.

1 个答案:

答案 0 :(得分:4)

假设原始长度总是可以被接收器整除,这将为您提供所需的东西!

sink = 4
raw = ['0', '5', '3', '0', '0', '0', '2', '4', '0', '0', '0', '5', '0', '0', '0', '0']

g = [raw[i:i+sink] for i in range(0, len(raw), sink)]

print(g)

如果您不喜欢它,那么这就是循环:

sink = 4
raw = ['0', '5', '3', '0', '0', '0', '2', '4', '0', '0', '0', '5', '0', '0', '0', '0']

g = []
for i in range(0, len(raw), sink):
    g.append(raw[i:i+sink])

print(g)