복붙노트

[PYTHON] 파이썬 사전에서 무작위 값을 얻는 방법

PYTHON

파이썬 사전에서 무작위 값을 얻는 방법

어떻게하면 딕트에서 임의의 쌍을 얻을 수 있습니까? 나는 당신이 나라의 수도를 추측 할 필요가있는 곳에서 게임을 만들고 있는데, 무작위로 나타나기 위해서는 질문이 필요합니다.

그 딕트는 { 'VENEZUELA': 'CARACAS'}처럼 보입니다.

어떻게해야합니까?

해결법

  1. ==============================

    1.한 가지 방법 (Python 2. *에서)은 다음과 같습니다.

    한 가지 방법 (Python 2. *에서)은 다음과 같습니다.

    import random
    d = {'VENEZUELA':'CARACAS', 'CANADA':'OTTAWA'}
    random.choice(d.keys())
    

    편집 : 문제는 원래 게시물 후 몇 년 동안 바뀌었고 이제는 단일 항목보다는 쌍을 묻습니다. 마지막 줄은 다음과 같아야합니다.

    country, capital = random.choice(list(d.items()))
    
  2. ==============================

    2.나는이 문제를 해결하려고 노력했다.

    나는이 문제를 해결하려고 노력했다.

    https://github.com/robtandy/randomdict

    키, 값 및 항목에 대한 O (1) 무작위 액세스 권한이 있습니다.

  3. ==============================

    3.무작위 모듈을 사용하고 싶지 않다면 popitem ()을 시도해 볼 수도 있습니다 :

    무작위 모듈을 사용하고 싶지 않다면 popitem ()을 시도해 볼 수도 있습니다 :

    >> d = {'a': 1, 'b': 5, 'c': 7}
    >>> d.popitem()
    ('a', 1)
    >>> d
    {'c': 7, 'b': 5}
    >>> d.popitem()
    ('c', 7)
    

    dict는 순서를 보존하지 않기 때문에 popitem을 사용하여 항목을 임의로 (그러나 엄밀하게는 임의 순서가 아닌) 순서대로 가져옵니다.

    또한 popitem은 문서에서 언급 한 것처럼 키 - 값 쌍을 사전에서 제거한다는 점도 명심하십시오.

  4. ==============================

    4.

    >>> import random
    >>> d = dict(Venezuela = 1, Spain = 2, USA = 3, Italy = 4)
    >>> random.choice(d.keys())
    'Venezuela'
    >>> random.choice(d.keys())
    'USA'
    

    사전 (국가)의 키에 random.choice를 호출합니다.

  5. ==============================

    5.이 시도:

    이 시도:

    import random
    a = dict(....) # a is some dictionary
    random_key = random.sample(a, 1)[0]
    

    이것은 확실히 작동합니다.

  6. ==============================

    6.숙제이기 때문에 :

    숙제이기 때문에 :

    체크 아웃 random.sample () 선택하고 목록에서 임의의 요소를 반환합니다. dict.keys ()를 사용하여 사전 키 목록을 가져올 수 있고 dict.values ​​()를 사용하여 사전 값 목록을 가져올 수 있습니다.

  7. ==============================

    7.random.choice ()를 사용하지 않으려면 다음과 같이 시도하십시오.

    random.choice ()를 사용하지 않으려면 다음과 같이 시도하십시오.

    >>> list(myDictionary)[i]
    'VENEZUELA'
    >>> myDictionary = {'VENEZUELA':'CARACAS', 'IRAN' : 'TEHRAN'}
    >>> import random
    >>> i = random.randint(0, len(myDictionary) - 1)
    >>> myDictionary[list(myDictionary)[i]]
    'TEHRAN'
    >>> list(myDictionary)[i]
    'IRAN'
    
  8. ==============================

    8.나는 당신이 퀴즈 종류의 응용 프로그램을 만들고 있다고 가정합니다. 이런 종류의 어플리케이션을 위해 나는 다음과 같은 함수를 작성했다 :

    나는 당신이 퀴즈 종류의 응용 프로그램을 만들고 있다고 가정합니다. 이런 종류의 어플리케이션을 위해 나는 다음과 같은 함수를 작성했다 :

    def shuffle(q):
    """
    The input of the function will 
    be the dictionary of the question
    and answers. The output will
    be a random question with answer
    """
    selected_keys = []
    i = 0
    while i < len(q):
        current_selection = random.choice(q.keys())
        if current_selection not in selected_keys:
            selected_keys.append(current_selection)
            i = i+1
            print(current_selection+'? '+str(q[current_selection]))
    

    = { 'VENEZUELA': 'CARACAS', 'CANADA': 'TORONTO'}의 질문을 입력하고 셔플 함수를 호출하면 결과는 다음과 같습니다.

    VENEZUELA? CARACAS
    CANADA? TORONTO
    

    옵션을 섞어서 더 많이 확장 할 수 있습니다. 이것이 도움이되기를 바랍니다. 출처 : RADIUS of CIRCLE

  9. ==============================

    9.원래 게시물이 쌍을 원했기 때문에 :

    원래 게시물이 쌍을 원했기 때문에 :

    import random
    d = {'VENEZUELA':'CARACAS', 'CANADA':'TORONTO'}
    country, capital = random.choice(list(d.items()))
    

    (파이썬 3 스타일)

  10. ==============================

    10.이것을 시도해보십시오 (항목에서 random.choice 사용).

    이것을 시도해보십시오 (항목에서 random.choice 사용).

    import random
    
    a={ "str" : "sda" , "number" : 123, 55 : "num"}
    random.choice(list(a.items()))
    #  ('str', 'sda')
    random.choice(list(a.items()))[1] # getting a value
    #  'num'
    
  11. ==============================

    11.

    b = { 'video':0, 'music':23,"picture":12 } 
    random.choice(tuple(b.items())) ('music', 23) 
    random.choice(tuple(b.items())) ('music', 23) 
    random.choice(tuple(b.items())) ('picture', 12) 
    random.choice(tuple(b.items())) ('video', 0) 
    
  12. ==============================

    12.이것은 Python 2와 Python 3에서 작동합니다.

    이것은 Python 2와 Python 3에서 작동합니다.

    무작위 키 :

    random.choice(list(d.keys()))
    

    무작위 값

    random.choice(list(d.values()))
    

    무작위 키와 ​​값

    random.choice(list(d.items()))
    
  13. from https://stackoverflow.com/questions/4859292/how-to-get-a-random-value-in-python-dictionary by cc-by-sa and MIT license