在python中循环列表并将结果追加到列表中

在python中循环列表并将结果追加到列表中,python,python-3.x,Python,Python 3.x,我有下面这样的代码 from io import StringIO a = """ab: 01dvfgf cd: 01fgvr windows ab: 02hjuy linux cd: 01erttt windows lm: 02hjkkk""" s = StringIO(a) a_01 = [] a_02 =[] zone = ['01', '02'] for elements in zone: for line in s: if line[4:6] == '01':

我有下面这样的代码

from io import StringIO
a = """ab: 01dvfgf
cd: 01fgvr windows
ab: 02hjuy linux
cd: 01erttt windows
lm: 02hjkkk"""
s = StringIO(a)
a_01 = []
a_02 =[]
zone = ['01', '02']
for elements in zone:
    for line in s:
        if line[4:6] == '01':
            a_01.append(line) 
        elif line[4:6] == '02':
            a_02.append(line)

print('a_01', *a_01, sep = "\n")
print('a_02', *a_02, sep = "\n")
在这段代码中,我可以将下面的4行替换为两行,这样我就不必为不同的区域反复编写了

if line[4:6] == '01':
    a_01.append(line) 
elif line[4:6] == '02':
    a_02.append(line)
比如:

if line[4:6] == elements:
    "a_" + elements.append(line)

使用
dict
存储值

从io导入StringIO
a=“”ab:01dvfgf
cd:01fgvr视窗
ab:02hjuy linux
cd:01erttt视窗
lm:02hjkkk“”
s=StringIO(a)
zone_dict={'01':list(),'02':list()}
对于s中的行:
#打印(行)
对于区域中的密钥_dict.keys():
#打印(键)
如果行[4:6]==键:
区域目录[键]。追加(行)
分区
输出

{'01': ['ab: 01dvfgf\n', 'cd: 01fgvr windows\n', 'cd: 01erttt windows\n'],
 '02': ['ab: 02hjuy linux\n', 'lm: 02hjkkk']}

你期望的结果是什么?我用我共享的代码得到了结果,我只想改进我的代码(缩短我的代码),而不是声明单独的变量,例如
a_01
a_02
等,使用
列表的
dict
,即
a={01':[],'02':[]
那么,在这种情况下,我该如何追加?您可以将
a_01
a_02
列表放入字典中。它们不必停止成为自变量,它们也应该生活在你可以轻松索引它们的地方。
{'01': ['ab: 01dvfgf\n', 'cd: 01fgvr windows\n', 'cd: 01erttt windows\n'],
 '02': ['ab: 02hjuy linux\n', 'lm: 02hjkkk']}