我目前正在尝试从具有这种格式的文件中提取一些数据:
#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]
如果我想为&#的每个匹配创建新列表(按顺序命名为" Face1,Face2,Face3 ......"),我该怎么办? 34; ADVANCED_FACE"而不是将所有这些值都附加到同一个列表中?
答案 0 :(得分: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'])