1

我目前正在尝试从具有这种格式的文件中提取一些数据:

#12 = ADVANCED_FACE ( 'NONE', ( #194 ), #326, .F. ) ;
...
#159 = EDGE_LOOP ( 'NONE', ( #21, #124, #264, #145 ) ) ;
...
#194 = FACE_OUTER_BOUND ( 'NONE', #159, .T. ) ;
...
#326 = PLANE ( 'NONE',  #352 ) ;

以下是我目前使用的方法:

faces_txt = re.findall(r'#(\d+) = ADVANCED_FACE.*;', text)

    faces = [int(face) for face in faces_txt]
    print('Face IDs = ', faces)

哪个输出:

Face IDs =  [12, 73, 99, 131, 181, 214, 244, 273, 330, 358]

如果我想为“ADVANCED_FACE”的每个匹配项创建一个列表(按顺序命名,如“Face1、Face2、Face3...”)而不是将所有这些值附加到同一个列表中,该怎么办?

4

1 回答 1

0

如果没有关于您想要的确切输出的更多详细信息以及可能更多的输入,听起来您想要一个列表列表或列表字典。

faces_txt = re.findall(r'#(\d+) = ADVANCED_FACE.*;', text)
faces = [int(face) for face in faces_txt]

print('Face IDs = ', faces)

LoL = []
DoL = {}
for i, faceId in enumerate(faces):
    LoL.append([faceId])
    DoL.update({"Face{}".format(i): [faceId]})

print(LoL)
print(DoL)

print(DoL['Face0'])
于 2017-12-12T22:37:01.680 回答