사전 내의 목록에서 한 단어 인쇄 (파이썬)

대니 가르시아

내 프로그램이 내 사전의 목록에서 임의의 단어 하나만 인쇄하도록하고 싶지만 올바른 구문을 얻을 수없는 것 같습니다. 목록에서 임의의 값을 얻기 위해 popitem ()을 사용하려고했지만 작동하지 않는 것 같습니다. 내 코드는 다음과 같습니다.

import random

thesaurus = {
              "happy":["glad",  "blissful", "ecstatic", "at ease"],
              "sad"  :["bleak", "blue", "depressed"]
            }

# input
phrase = input("Enter a phrase: ")

# turn input into list
part1 = phrase.split()
part2 = list(part1)

newlist = [] 
for x in part2:
    s = thesaurus.get(x, x)
    newlist.append(s)

print (newlist)

예를 들어 입력이

i am happy

예상되는 출력은 다음과 같습니다.

i am glad

또는 사전 내의 목록에서 임의의 단어.

그러나 지금 내 출력은 다음과 같습니다.

['i', 'am', ['glad', 'blissful', 'ecstatic', 'at ease']]

나는 이것과 관련된 다른 스레드가 있다는 것을 알고 있지만이 특정 문제를 해결하지 못하는 것 같습니다.

어떤 도움을 주시면 감사하겠습니다!

편집하다:

긴 단어 목록이있는 가져온 파일로 작업하도록이 공식을 확장 한 경우 코드를 어떻게 변경해야합니까?

newDict = {}
with open('thesaurus.txt', 'r') as f:
    for line in f:
        splitLine = line.split()
        newDict[(splitLine[0])] = ",".join(splitLine[1:])

print ("Total words in thesaurus: ", len(newDict))

# input
phrase = input("Enter a phrase: ")

# turn input into list
part1 = phrase.split()
part2 = list(part1)

# testing input
newlist = []
for x in part2:
    s = newDict[x].pop() if x in newDict else x
    s = random.choice(newDict[x]).upper() if x in newDict else x
    newlist.append(s)


newphrase = ' '.join(newlist)
print (newphrase)

"시소러스"파일 내의 줄 텍스트 샘플 :

abash,humility,fear
smac89

random 모듈 을 사용하고 싶을 수 있습니다 .

예:

import random
>>> l = list(range(10))
>>> random.choice(l)
5
>>> random.choice(l)
9

귀하의 경우 다음을 수행 할 수 있습니다.

print (" ".join(random.choice(thesaurus[x]) if x in thesaurus else x for x in part2))

예:

>>> import random
>>> phrase = "I am feeling sad that he left, but that's okay because I'm happy he will be back soon"
>>>
>>> thesaurus = { "happy":["glad",  "blissful", "ecstatic", "at ease"],
...               "sad"  :["bleak", "blue", "depressed"]
...             }
>>> print (" ".join(random.choice(thesaurus[x]) if x in thesaurus else x for x in phrase.split()))
I am feeling bleak that he left, but that's okay because I'm blissful he will be back soon

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

사전 내부에 파이썬 목록을 세로로 인쇄

분류에서Dev

파이썬에서 사전의 키를 어떻게 인쇄합니까?

분류에서Dev

파이썬에서 사전의 키를 어떻게 인쇄합니까?

분류에서Dev

값이 목록 인 파이썬 사전을 간단한 사전으로 변환

분류에서Dev

파이썬의 특정 색인에서 목록에 대한 전체 반복

분류에서Dev

파이썬의 특정 색인에서 목록에 대한 전체 반복

분류에서Dev

파이썬에서 하나의 print ()를 사용하여 목록 항목을 한 줄이 아니라 한 줄씩 인쇄하는 방법은 무엇입니까?

분류에서Dev

파이썬에서 목록에 포함 된 사전의 키와 값을 인쇄하는 방법

분류에서Dev

웹 사이트 파이썬에서 <li>의 특정 단어를 인쇄하는 방법

분류에서Dev

단일 목록의 항목에서 색인을 사용하여 새 파이썬 목록 만들기

분류에서Dev

두 개의 다른 사전에서 파이썬 인쇄 값

분류에서Dev

파이썬에서 두 목록 사이의 차이를 가져 와서 동일한 값을 가지고 있으면 인쇄하십시오.

분류에서Dev

목록, 딕셔너리 내에서 알파벳 순서로 중첩 된 내부 사전의 키만 인쇄하려면 어떻게해야합니까?

분류에서Dev

파이썬을 사용하여 목록에서 명시적인 단어 찾기

분류에서Dev

파이썬으로 목록에서 한 단어가 다른 단어 뒤에 오는지 확인하십시오.

분류에서Dev

목록의 인덱스 0이 알파벳순 인 목록 사전에서 인쇄 된 출력 정렬

분류에서Dev

파이썬에서 목록 사이에 새 줄 인쇄

분류에서Dev

파이썬을 사용하여 두 목록에없는 단어를 인쇄하는 방법

분류에서Dev

파이썬에서 목록 형식의 값인 경우 사전 내부의 값을 합산하는 방법

분류에서Dev

파이썬 : 사전 항목 목록의 사전 목록에 대한 목록 이해

분류에서Dev

파이썬에 포함 된 두 문서에서 의미 상 유사한 단어 목록을 얻고 싶습니다.

분류에서Dev

파이썬을 사용하여 단어 목록에서 길이 2의 모든 단어 조합 찾기

분류에서Dev

키에 의한 2 개의 사전 목록 사이의 파이썬 차이점

분류에서Dev

파이썬에서 인쇄 기능의 이상한 동작

분류에서Dev

목록의 사전 항목에 대한 각 값을 어떻게 인쇄합니까?

분류에서Dev

파이썬을 사용하여 목록의 단어 문자열에서 단어 수 가져 오기

분류에서Dev

파이썬의 열거 목록에서 인쇄

분류에서Dev

파이썬의 사전 내부 목록에 항목을 추가 할 때 이상한 동작

분류에서Dev

파이썬의 사전 내부 목록에 항목을 추가 할 때 이상한 동작

Related 관련 기사

  1. 1

    사전 내부에 파이썬 목록을 세로로 인쇄

  2. 2

    파이썬에서 사전의 키를 어떻게 인쇄합니까?

  3. 3

    파이썬에서 사전의 키를 어떻게 인쇄합니까?

  4. 4

    값이 목록 인 파이썬 사전을 간단한 사전으로 변환

  5. 5

    파이썬의 특정 색인에서 목록에 대한 전체 반복

  6. 6

    파이썬의 특정 색인에서 목록에 대한 전체 반복

  7. 7

    파이썬에서 하나의 print ()를 사용하여 목록 항목을 한 줄이 아니라 한 줄씩 인쇄하는 방법은 무엇입니까?

  8. 8

    파이썬에서 목록에 포함 된 사전의 키와 값을 인쇄하는 방법

  9. 9

    웹 사이트 파이썬에서 <li>의 특정 단어를 인쇄하는 방법

  10. 10

    단일 목록의 항목에서 색인을 사용하여 새 파이썬 목록 만들기

  11. 11

    두 개의 다른 사전에서 파이썬 인쇄 값

  12. 12

    파이썬에서 두 목록 사이의 차이를 가져 와서 동일한 값을 가지고 있으면 인쇄하십시오.

  13. 13

    목록, 딕셔너리 내에서 알파벳 순서로 중첩 된 내부 사전의 키만 인쇄하려면 어떻게해야합니까?

  14. 14

    파이썬을 사용하여 목록에서 명시적인 단어 찾기

  15. 15

    파이썬으로 목록에서 한 단어가 다른 단어 뒤에 오는지 확인하십시오.

  16. 16

    목록의 인덱스 0이 알파벳순 인 목록 사전에서 인쇄 된 출력 정렬

  17. 17

    파이썬에서 목록 사이에 새 줄 인쇄

  18. 18

    파이썬을 사용하여 두 목록에없는 단어를 인쇄하는 방법

  19. 19

    파이썬에서 목록 형식의 값인 경우 사전 내부의 값을 합산하는 방법

  20. 20

    파이썬 : 사전 항목 목록의 사전 목록에 대한 목록 이해

  21. 21

    파이썬에 포함 된 두 문서에서 의미 상 유사한 단어 목록을 얻고 싶습니다.

  22. 22

    파이썬을 사용하여 단어 목록에서 길이 2의 모든 단어 조합 찾기

  23. 23

    키에 의한 2 개의 사전 목록 사이의 파이썬 차이점

  24. 24

    파이썬에서 인쇄 기능의 이상한 동작

  25. 25

    목록의 사전 항목에 대한 각 값을 어떻게 인쇄합니까?

  26. 26

    파이썬을 사용하여 목록의 단어 문자열에서 단어 수 가져 오기

  27. 27

    파이썬의 열거 목록에서 인쇄

  28. 28

    파이썬의 사전 내부 목록에 항목을 추가 할 때 이상한 동작

  29. 29

    파이썬의 사전 내부 목록에 항목을 추가 할 때 이상한 동작

뜨겁다태그

보관