2016-09-22 3 views
1

파이썬에서 클래스 내에있는 여러 사전 사이를 이동할 함수를 만들려고합니다. 사용자가 순서대로 진행할 사전이 여러 개있을 것이며 각 함수를 통해 사전에서 임의의 쌍을 선택할 수있는 기능을 원합니다. 그러면 사용자가 응답 또는 일부 입력을 제출 한 다음 해당 함수가 다음 사전으로 이동하여 다시 임의 쌍을 선택합니다.파이썬에서 여러 사전을 통해 함수 루프를 만드는 방법

각 사전에 대해 별도의 함수를 만드는 것보다는 그 방법을 잘 모르겠습니다. 어떤 도움을 주시면 감사하겠습니다.

당신이 클래스에서 사전의 목록을 가지고있는 경우에
+2

당신을 얻을 수 있다면, 함수에 대한 사전으로 사전을 전달할 수 있습니다. 그렇지 않은 경우 시도한 내용과 예상대로 작동하지 않는 내용 및 결과를 알려주십시오. –

+0

그래서 클래스에는 여러 개의 클래스 변수가 있습니다. 올바른 것입니다. 그리고 그 중 하나를 무작위로 선택하는 함수가 필요합니다 (임의가 아닌 것을 선호 하시겠습니까?). 선택한 사전에서 임의의 키/값 쌍을 선택해야합니다. 해당 키/값 쌍을 기반으로 사용자로부터 입력을 수집하십시오. 그런 다음 클래스의 컬렉션에서 다른 사전을 선택하고 임의의 키/값을 계속 수행합니다. 따라서 클래스 생성자에서 모든 사전을 사전 목록에 추가하십시오. 그런 다음 사전 목록에서 임의로 사전을 선택하십시오. –

+0

내 대답에 문제가 있다면 조정할 수 있도록 말하십시오. 그렇지 않은 경우 질문에 적절히 대답 할 때 대답 (녹색 확인)을 수락하는 것이 일반적으로 좋은 예절입니다. –

답변

4

글쎄, 뭔가 같은 : 이미 목록에있는 모든 사전이없는 경우

import random 
for d in dict_list: 
    random_pair = random.choice(d.items()) 
    # Then do whatever you were going to do with that pair 
    # then it goes on to the next dictionary in the list 

, 그냥 그 루프 전에 목록을 .

관련 문제