<p>正如克劳斯D.评论的那样,你需要一本字典。但我怀疑这还不够暗示。这里有一个更广泛的答案。你知道吗</p>
<p>一个问题:您的代码与您提供的输入数据不一致。代码将数字拆分为空格,但输入数据使用方括号和逗号。此代码与您提供的输入一起工作。你知道吗</p>
<pre><code># Parser states:
# 0: waiting for a month name
# 1: expecting numbers in the format [1, 11, 25, 37, 39, 47, 0]
from collections import defaultdict
state = 0
tipps = defaultdict(list)
monthname = None
with open("numbers.txt","r") as f:
for line in f:
if state == 0:
if line.strip().endswith(":"):
monthname = line.split(":")[0]
state = 1
continue
if state == 1:
if line.startswith("["):
line = line.strip().strip("[]")
numbers = line.split(",")
tipps[monthname].append([int(n) for n in numbers])
elif not line.strip():
state = 0
else:
print (f"Unexpected data, parser stuck: {line}")
break
for k,v in tipps.items():
print (f"{k}: {v}")
</code></pre>
<p>输出为:</p>
<pre><code>January: [[1, 11, 25, 37, 39, 47, 0], [3, 13, 15, 18, 37, 46, 2], [3, 6, 9, 12, 37, 46, 6]]
February: [[3, 13, 15, 18, 37, 46, 0], [1, 23, 17, 18, 37, 46, 8]]
</code></pre>