working with a big list 다음 목록을 생성하는이 프로그램에 대한 내 이전 게시물입니다. 필자가 작성한 프로그램은 큰 연결 목록을 다룬다. 이 목록을 phonemeList라고합니다. 목록은 다음과 같습니다.한 목록의 항목과 다른 목록의 항목이 둘 다 외부 목록에있는 경우
[[('dh', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.35], [-1, -1]]),
('ih', [[-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [0.05, 0.15], [-1,-1]]),
("'", None),
('k', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.8], [-1, -1]]),
('aa', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 1.0], [-1, -1]]),
('r', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.6], [-1, -1]]),
("'", None),
('p', [[-1, -1], [0.2, 1.0], [-1, -1], [-1, -1], [0.15, 0.2], [-1, -1]]),
('ih', [[-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [0.05, 0.15], [-1, -1]]),
("'", None),
('k', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.8], [-1, -1]]),
('iy', [[-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [0.1, 0.15], [-1, -1]]),
('ng', [[-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [0.09, 0.3], [-1, -1]]),
("'", None),
('er', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.5], [-1, -1]]),
("'", None),
('sh', [[-1, -1], [-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [-1, -1]]),
('eh', [[-1, -1], [-1, -1], [0.1, 0.5], [-1, -1], [0.4, 0.7], [-1, -1]]),
('m', [[-1, -1], [0.2, 1.0], [-1, -1], [-1, -1], [0.15, 0.2], [-1, -1]]),
("'", None),
('p', [[-1, -1], [0.2, 1.0], [-1, -1], [-1, -1], [0.15, 0.2], [-1, -1]]),
('uw', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.5, 1.0]]),
('dx', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.35], [-1, -1]]),
("'", None),
('aa', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 1.0], [-1, -1]]),
("'", None),
('er', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.5], [-1, -1]]),
("'", None), ('aa', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 1.0], [-1,-1]]),
("'", None),
('r', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.6], [-1, -1]]),
('iy', [[-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [0.1, 0.15], [-1, -1]]),
("'", None),
('ih', [[-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [0.05, 0.15], [-1, -1]]),
('n', [[-1, -1], [-1, -1], [-1, -1], [0.3, 1.0], [-1, -1], [-1, -1]]),
('t', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.4], [-1, -1]]),
('l', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.6], [-1, -1]]),
("'", None), ('r', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15,0.6], [-1, -1]]),
('ah', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 1.0], [-1, -1]]),
('k', [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [0.15, 0.8], [-1, -1]])]]
프로그램에 대한 아이디어를 얻으실 수 있도록 협조 부탁드립니다. 고맙습니다. [0.15,0.6]은 목록이 아니라 범위입니다. 여기서 그것은 틀릴 수도있는 목록으로 표현됩니다. 이것은 값이 0.15에서 0.6까지 다양하다는 것을 의미합니다. 여기서 [-1, -1]은 사용되지 않고 범위를 나타내는 양의 범위로 대체 될 수있는 범위가없는 항목입니다. 이제 'dh'항목과 'ih'항목을 비교해야합니다. 'dh'의 첫 번째 항목은 'ih'의 첫 번째 항목과 비교되고 두 번째 항목은 두 번째 항목과 비교됩니다. 그러면 'dh'항목은 'k'항목을 '무시'항목과 비교됩니다. 'dh'는 모든 규칙을 따르는 것과 비교됩니다. 그런 다음 'ih'가 등장하고 같은 일이 반복됩니다. 이 작업을 수행하는 동안 (" '", 없음) 무시해야합니다. 비교 중에 범위가 변경되고 [-1, -1]이 바뀝니다. (" ', 없음) 경계와 같습니다. 모든 항목을 서로 비교 한 후 다음 단계는 이러한 경계 내에서 비교하는 것입니다. 초심자이기 때문에 이것은 나에게 정말로 복잡한 일입니다. 그러나 이것은 또한 내 주요 프로젝트이므로 제발 도와주세요. 고맙습니다.
비교 대상은 무엇입니까? – miku
이것은 끔찍한 코드 붙여 넣기입니다. –
비교는 첫 번째 음소 'dh'가 'ih'인 다음 단어와 비교되는 것입니다. dh ie [-1, -1]의 첫 번째 항목과 같은 항목 간의 비교는 [-1, -1] 인 ih의 첫 번째 항목과 비교됩니다. 그런 다음 두 번째 항목과 세 번째 항목 등. 비교하는 동안 따라야 할 몇 가지 규칙이 있습니다. 규칙 중 하나는 [-1, -1]은 +1 슬롯의 범위로 바꿀 수있는 빈 슬롯과 같습니다. 비교의 모든 규칙도 써야합니다. – zingy