2014-12-11 3 views
1
import random 

dictionary = {'dog': 1,'cat': 2,'animal': 3,'horse': 4} 
keys = random.shuffle(list(dictionary.keys())*3) 
values = list(dictionary.values())*3 
random_key = [] 
random_key_value = [] 

random_key.append(keys.pop()) 
random_key_value.append(???) 

random_key_values.append의 경우 팝업 된 키에 해당하는 값을 추가해야합니다. 이것을 어떻게 할 수 있습니까? 목록의 배수를 사용해야하며 사전에 직접 곱할 수도 없습니다.사전에서 키 - 값 추출

+0

어떤 언어입니까? 질문을 쉽게 검색 할 수 있도록 적절한 태그를 포함하십시오. –

답변

2

저는 파이썬으로 가고 있습니다 (질문에 언어를 지정해야합니다).

내가 이해하면 사전에 요소를 곱하고 싶습니다. [1,2,1,2,1,2]

에서 [1,2] * 3 결과 지능형리스트 대신보십시오 : (당신이 그것을 셔플 때문에)

[i * 3 for i in dictionary.keys()] 

계정으로 주문을 받아하려면 전에 키를 셔플 그래서

list(dictionary.keys()) * 3 

은 해결책이 아니다 곱셈을 수행 한 다음 값 목록을 만든 다음 (셔플 된 키와 동일한 순서로) 최종적으로 키를 곱하십시오.

keys = dictionary.keys() 
random.shuffle(keys) 
values = [dictionary[i]*3 for i in keys] 
keys = [i * 3 for i in keys] 

그리고 마지막으로 :

random_key.append(keys.pop()) 
random_key_value.append(values.pop()) 

당신이 그것을 사용으로 또한 작동하지 않는, 임의의 기능에 대해주의해야합니다. documentation을 참조하십시오.

+0

실례합니다. 당시 주목받지 못했습니다. 나는 파이썬 판이 열려 있다고 생각했습니다. 설명 주셔서 감사합니다, 그것은 정확히 무엇이 필요합니다 :) –