2016-10-30 4 views
-1

중첩 목록을 사전에서 만드는 방법을 찾고있었습니다. 여기에 주어진 사전이 있습니다.dict 개체를 중첩 목록으로 변환

Dict={'Jason Seifer': ['Ruby Foundations', 'Ruby on Rails Forms', 'Technology Foundations'], 'Kenneth Love': ['Python Basics', 'Python Collections'],'Jason Bourne':['black berry','mango','potato','oli','key'],'fruits':['cherry','pineapple','banana','coconut']} 

예외 처리 출력 : 여기

[['Jason Bourne', 5], ['Kenneth Love', 2], ['fruits', 4], ['Jason Seifer', 3]] 

위해 간단한 이해와

+4

나는이 문제를 이해하기 매우 힘든 시간을 보내고있어 제목의 문맥 ...'C++ '은 어디에서이 질문에 들어갔습니까? 정확히 무엇에 대해 혼란스러워합니까? – mgilson

+0

@mgilson, 그렇지 않습니다. 어둠 속에서 평상시에 찍은 것처럼 보이고 질문을받습니다. – StoryTeller

+1

@StoryTeller - "중첩 목록 작성을위한 이상한 속임수 - 프로그래머들은 그것을 싫어합니다!" : P – TigerhawkT3

답변

2

중요하지 않습니다

result = [[k, len(v)] for k,v in Dict.items()] 
+0

.items()하지만 중첩 된 루프를 사용하지 않고 만드는 방법? – user6619642

+0

@ user6619642 - 왜 for 중첩 루프를 원합니까? '.items()'를 피하고 싶다면 Dict에서 k에 대해'[[k, len (Dict [k])]'를하거나 바닐라'for' 루프로 그것을 확장 할 수 있습니다. 아무리 슬라이스를해도 _nesting_은 필요하지 않습니다. – mgilson

+0

중첩 루프가 필요한 유일한 방법은'len()'을 사용할 수없는 경우이며, 절대 일어나지 않아야하는 항목을 직접 계산해야합니다. –