2016-06-12 2 views
-1

원래 정렬로 인해 변환 된 사전이었던 목록입니다. 내가 할 노력하고있어 무엇중첩 목록/튜플/사전에서 값 추출

list1 = [ 
      ('key1', {'count': 10, 'value1': Counter({'set1': 5, 'set2': 4, 'set3': 1})}), 
      ('key2', {'count': 8, 'value2': Counter({'set1': 6, 'set2': 2})}), 
      ('key3', {'count': 7, 'value3': Counter({'set1': 5, 'set2': 2, 'set3': 1})}) 
     ] 

각 키의 (그 수와 함께) 처음 두 '키'개체 및 (그 수와 함께) 최초의 '값'개체입니다. 예를 들어 인쇄 출력을 얻으려고합니다.

key1 10 
set1 5 

key2 8 
set1 6 

편집 : 이것은 내가 이미 시도한 (그리고 함께 놀았습니다);

for key, value in sorted_x: 
    print key, value - only gives key/value as a whole 
for key, value in sorted_x: 
    print key, value[0] - gives keyerror. I've tried a few variations including nested loops. 
for key, value in sorted_x.iteritems(): 
    print key, value 

중첩 된 루프를 수행하면서 목록 [1]의 일부를 얻으려고 시도했습니다. 그러나 나는 원하는 데이터를 지적하고 '압축을 풀기'오류 메시지를 계속받을 수 없었다.

+1

무엇이 질문입니까? 코드를 통해 우리를 도울 수 있기를 원하면이 문제를 해결하기 위해 작성한 코드와 의도 한대로 작동하지 않는 코드를 보여 주어야합니다. 또한, 명시한 원하는 결과가 설명과 일치하지 않습니다. 'value1'과'value2'는 어떻게됩니까? –

+0

출력을 편집했습니다. "핵심"줄이 "줄"줄과 분리 되길 정말로 원했습니까? 그렇지 않다면 원하는 출력을 다시 편집하십시오. –

+0

@Tim Pietzcker 편집했습니다. 나는 여전히 파이썬으로는 새롭고 잠시 놀아 보려고 노력했다. 미숙 한 일은 유감스럽게 생각한다. – user1165419

답변

0

다음은 주문이 변경되지 않는다고 가정합니다.

def get_stuff(list): 
    for i in list[:2]: 
     print i[0], i[1].values()[0] 
     print i[1].values()[1].keys()[0], i[1].values()[1].values()[0] 
+0

고맙습니다. 어떤 이유에서'key1'을 위해'set1 5'와는 반대로'set2 4'를 보여줍니다. 다른 키 (또는 키)의 경우 첫 번째 설정 값을 잘 보여줍니다. – user1165419