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) ;
을 ADVANCED_FACEs 및과 같이 사전에 추가 :이 ADVANCED_FACES을 모두 찾아이 같은 출력을 생성
DoL = {}
#search for advanced faces and extract IDs
faces_txt = re.findall(r'#(\d+) = ADVANCED_FACE.*;', text)
faces = [int(face) for face in faces_txt]
#append advanced face IDs to dict
for i, faceId in enumerate(faces):
DoL.update({"Face{}".format(i): {'AdvancedFace': [faceId]}})
:
Face0 = {'AdvancedFace': [12]}
Face1 = {'AdvancedFace': [73]}
Face2 = {'AdvancedFace': [99]}
Face3 = {'AdvancedFace': [131]}
Face4 = {'AdvancedFace': [181]}
Face5 = {'AdvancedFace': [214]}
Face6 = {'AdvancedFace': [244]}
Face7 = {'AdvancedFace': [273]}
Face8 = {'AdvancedFace': [330]}
Face9 = {'AdvancedFace': [358]}
을 같은 출력이 보일 것이다, 그래서
는 지금은 FACE_OUTER_BOUNDs을 모두 찾아 유사한 방식으로 사전에 추가 할 필요가 : 나는 다음과 같은 방법을 사용하여 시도
Face0 = {'AdvancedFace': [12], 'FaceOuterBound': [194]}
Face1 = {'AdvancedFace': [73], 'FaceOuterBound': [53]}
...
하지만 말에서 오류가 발생합니다 'DICT' 'append'속성이 없습니다.
#extract face outer bound IDs from advanced face strings
fob_txt = re.findall(r'ADVANCED_FACE.{13}#(\d+).*;', text)
fobs = [int(fob) for fob in fob_txt]
#append face outer bound IDs to dict
for i, fobId in enumerate(fobs):
DoL["Face{}".format(i)].append({'FaceOuterBounds': (fobId)})
분명히'DOL [ "얼굴 {} ".format (i)]'는 사전을 평가합니다. 디버깅을 한 적이 있습니까? – Carcigenicate
아니요. 나는 이것이 유니에서의 나의 마지막 해의 프로젝트의 일부이기 때문에 일반적으로 프로그래밍에 익숙하지 않다. 그럼에도 불구하고 아직도 그것과 함께 그립을 얻고 있습니다. –
DOL에 사전을 가지고 계시지 않습니까? 아니면 목록이 있어야합니까? – Carcigenicate