2010-08-02 2 views
1

3 개 항목으로 이루어진 사전 목록 (index2)을 0-150 개 정도의 키로 정리했습니다. 다음 제약 조건으로 다른 사전으로 정렬해야합니다.
1. 하나의 키에 연결된 모든 항목은 두 번째 사전에 함께 있어야합니다.
2.) 두 번째 사전의 항목 길이는 모두 같아야합니다. 이 방법을 돕기 위해 첫 번째 사전의 총 항목 수를 두 번째 키의 수로 나눈 값을 변수에 연결하여 제한 요소로 사용할 수있게했습니다.사전을 다른 사전으로 정렬하는 데 도움이됩니다.

이것은 내가 지금까지 가지고있는 것입니다. 그러나 그것을 실행할 때 실제로 대상 사전에 아무 것도 추가하지 않습니다.

for key,runs in index2.iteritems(): 
    for a in mCESrange: 
     if index2[key][0] in mCESdict[a]: 
      pass 
     elif len(mCESdict[a]) < mCESlength: 
      pass 
     else: 
      mCESdict[a].extend(index2[key]) 
+0

코드에 관한 몇 가지 이상한 점 : 1. 변수 이름으로 '범위'를 음영 처리하지 마십시오. 2.'len (index2.values ​​()) == len (index2)'이므로'values ​​()'를 호출하지 마십시오. –

+0

예, 두 가지 모두 단순화하기 위해 원본 코드에서 변경되었습니다. 원래 범위는 미리 정의되어 있고 다른 이름을 사용하지만 mCESrange가 무엇인지 설명하는 것이 더 혼란 스럽습니다. – Tob

답변

0

귀하의 문제 설명이 정말 명확하지 않다, 비 작동 코드가 거의 명확히하는 데 도움이,하지만 나는이 라인은 당신의 문제가 의심 : elif len(dict[a]) < length.

+0

이것이 문제였습니다. 내 가장 겸손한 사과를 받아 들여라. http://img29.imageshack.us/img29/9793/nrns.gif – Tob

관련 문제