에 변화를 다음과 같이 내가보고 음성 술래의 일부에서 발생하는 두 개의 목록이 pos_names에. 그래서 기본적으로 pos_tags에서 John과 Murphy를 찾고 POS 태그를 NNP로 바꿔야합니다.목록의 하위 항목을 비교하고 파이썬
답변
나는 사전은이 문제에 대한 더 자연스러운 해결책이 될 것이라고 동의하지만, 당신이 순서대로 pos_tags
필요하면 더 명시 적 해결책은 다음과 같습니다
for word, pos in pos_names:
for i, (tagged_word, tagged_pos) in enumerate(pos_tags):
if word == tagged_word:
pos_tags[i] = (word,pos)
(A 사전 probaby 빠르게위한 것 단어 수가 많으므로 단어 순서를 목록에 저장하고 사전을 사용하여 POS 할당을 수행하는 것이 좋습니다.
이 완벽합니다. 나는 성능에 대해 너무 걱정하지 않는다. 그래서 이것은 나를 위해 잘 작동한다. – Markus
pos_names
의 사전을 찾아보기 테이블로 사용할 수 있습니다. 그런 다음 get
을 사용하여 교체 가능한 테이블을 검색하고 대체가 없으면 태그를 그대로 남겨 둘 수 있습니다.
d = dict(pos_names)
pos_tags = [(word, d.get(word, tag)) for word, tag in pos_tags]
을 감안할 때
pos_tags = [('This', u'DT'), ('is', u'VBZ'), ('a', u'DT'), ('test', u'NN'), ('sentence', u'NN'), ('.', u'.'), ('My', u"''"), ('name', u'NN'), ('is', u'VBZ'), ('John', u'NNP'), ('Murphy', u'NNP'), ('and', u'CC'), ('I', u'PRP'), ('live', u'VBP'), ('happily', u'RB'), ('on', u'IN'), ('Planet', u'JJ'), ('Earth', u'JJ'), ('!', u'.')]
및
names = ['John', 'Murphy']
당신은 할 수 있습니다 :
[next((subl for subl in pos_tags if name in subl)) for name in names]
을 줄 것이다 :
,[('John', u'NNP'), ('Murphy', u'NNP')]
건배. 하지만 내 목록은 다음과 같습니다. names = [('John', 'NNP'), ('Murphy', 'NNP')] – Markus
- 1. 함수에서 목록의 항목을 반환합니다. 파이썬
- 2. 파이썬에서 같은 목록의 해당 항목을 비교하고 그룹화하려면 어떻게합니까?
- 3. 목록의 첫 번째 항목을 제외하고 - 파이썬
- 4. 파이썬 | 목록의 마지막 항목을 삭제하는 방법?
- 5. MYSQL 하위 쿼리에서 목록의 항목을 선택하십시오.
- 6. python 목록의 하위 목록 값을 비교하고 값을 더합니다.
- 7. 목록의 값을 비교하고 부울 파이썬을 작성하십시오
- 8. 두 목록의 요소를 비교하고 다른 요소를 추가하십시오.
- 9. 두 목록의 요소를 비교하고 다른 원래 목록의 별도 목록을 반환하십시오.
- 10. 파이썬 팬더 - 특정 행을 비교하고
- 11. 두 목록의 항목을 결합하다
- 12. SQLite에서 목록의 항목을 삭제하십시오.
- 13. 목록의 항목을 어떻게 호출합니까?
- 14. 목록의 파이썬 항목이 문자열에 추가되었습니다.
- 15. 목록의 항목을 다른 목록의 해당 구성원으로 바꿉니다.
- 16. Python - 목록의 항목을 다른 목록의 항목과 연결하기
- 17. 다른 목록의 항목을 기준으로 목록의 항목 제거
- 18. 자바 - 목록의 항목을 변경하면 목록의 항목도 변경됩니까?
- 19. 파이썬 목록의 첫 번째 항목을 조건부로 필터링하는 방법은 무엇입니까?
- 20. 링크 된 목록의 앞에 항목을 삽입 하시겠습니까? 파이썬
- 21. 같은 날짜의 항목을 항목 주 목록의 하위 목록에 추가합니다.
- 22. 하위 목록의 모든 항목을 문자열로 변경하는 가장 효율적인 방법은 무엇입니까?
- 23. Scheme에서 목록과 하위 목록의 첫 번째 항목을 가져와 비교하려면 어떻게해야합니까?
- 24. 파이썬 - 나는 목록의 내용을 인쇄
- 25. 파이썬 - 가장 빠른 방법은 목록을 비교하고 목록
- 26. Python - 중첩 목록을 비교하고 일치 항목을 새 목록에 추가 하시겠습니까?
- 27. 바인딩 목록의 하위 집합에 바인딩
- 28. Python : 튜플 목록과 중첩 목록에서 일치 항목을 비교하고 찾습니다.
- 29. 목록의 현재 항목을 다른 목록의 항목에 어떻게 가입시킬 수 있습니까?
- 30. 목록의 항목을 편집하는 방법 : C# 및 WPF
'('행성 ','uJJ '), ('지구 ','uJJ ')]'가 속한 것은 무엇입니까? – Joschua
지금까지 시도한 적이 있습니까? –
원본 게시물에서 수정 된 사본 및 붙여 넣기 오류입니다. – Markus