2014-04-30 2 views
1

2D 목록으로 사용할 값이 필요한 사전이 있습니다. 이 두 번째 값을 키에 추가하는 데 문제가 있습니다. 나는 두 개의 목록을 가지고 있는데, 첫 번째는 값의 목록이고 그 다음에 추가 목록으로 구성된 키의 목록입니다.키에 여러 값 지정?

for i in range(len(keyList)): 
     if keyList[i] in theInventory: 
      value = theInventory[keyList[i]] 
      value.append(valueList[i]) 
      theInventory[keyList[i]] = value 
     else: 
      theInventory[keyList[i]] = valueList[i] 

문제는 출력이 그것이 내가 내 사전에 추가 할 찾고 목록을 가지고 다음 목록에 추가 된 최초의 항목의 목록을 가지고 있다는 것입니다 :

은 지금까지 나는이 코드를 가지고있다. 그래서 같이

:

[value, value, value, [list], [list]] 

가 어떻게 첫 번째 항목을 만들 수 있죠 자체 목록으로 사전에 입력?

+0

물론 쉽습니다. 정말 고마워! – user3555238

답변

3

사용 []valueList[i] 주위에 추가 : 다음과 같이 코드를 단순화 할 수

theInventory[keyList[i]] = [valueList[i]] 
0

. append() 메서드는 목록을 변경하므로 추가 결과에 theInventory을 다시 지정할 필요가 없습니다. 더 이상 value을 사용할 필요가 없으며 사전에 직접 항목에 추가 할 수 있습니다.

for i in range(len(keyList)): 
     if keyList[i] in theInventory: 
      theInventory[keyList[i]].append(valueList[i]) 
     else: 
      theInventory[keyList[i]] = [valueList[i]] 
관련 문제