2016-10-10 5 views
-1

는 가정 사전라는 이름의 과일이 :사전 키와 같은 이름을 갖고 그 키 값과 크기가 같은 사전 목록을 만드는 방법은 무엇입니까? 파이썬에서

fruits={ 
"apple":5, 
"orange":7, 
"mango":9 
} 

사전 항목을 읽고, 그것은 즉 사전 키와 같은 이름을 가진 3 개 목록을 작성해야합니다. 사과, 오렌지, 망고, 논문 목록의 크기는 각각 5, 7 및 9 여야합니다. 이 목록의 요소는 콘솔을 통해 사용자에게 제공되어야합니다.

+1

코드를 게시해야합니다. 시도한 내용을 표시하십시오. – Sarcoma

+3

"사전 키와 이름이 같은 3 개의 목록을 만들어야합니다." 파이썬에서이 작업을 수행하는 것은 가능하지만 _really_ 벙어리 아이디어입니다. 이것이 숙제 인 경우 다른 선생님을 찾는 것을 진지하게 고려해야합니다. –

+2

당신이 읽을 것을 제안합니다. [왜 동적으로 변수를 만들고 싶지 않습니다.] (http://stupidpythonideas.blogspot.com/2013/05/why-you-dont-want-to-dynamically-create.html). – martineau

답변

0
d = { "apple":5, "orange":7, "mango":9 } 
for k in d: 
    temp = [] 
    for k2 in range(0,d[k]): 
     print "enter the next "+str(k)+":" 
     temp.append(raw_input()) 
    exec(str(k)+"="+str(temp)) 

그러나 그렇게하지 마십시오. How to eval a string containing an equal symbol?

+0

사용자 입력을'exec '하는 것은 위험합니다. – martineau

+0

이 7 줄의 코드에 제공 할 수있는 가장 파괴적인 입력은 무엇입니까? – kpie

3

내 필요를 제공합니다 this-

fruit = { 
    "apple": 5, 
    "banana" : 10 
} 
for key in fruit.items(): 
    key = list(fruit.get(key)*[None]) 

이에 대한 해결책을 얻었다.

+0

불행히도이 코드는 'TypeError : 타입'NoneType '이 아닌 int로 시퀀스를 곱할 수 없습니다 – martineau

관련 문제