NSArray
이 NSDictionaries
이고 길이가 10 요소라고 가정 해 봅시다. 두 번째 NSArray
각 사전에 단일 키에 대한 값을 만들고 싶습니다. 이 일을 내가 알 수있는 가장 좋은 방법은 다음과 같습니다기존 NSArray에서 새 NSArray를 작성하기위한 표준 규칙은 무엇입니까?
NSMutableArray *nameArray = [[NSMutableArray alloc] initWithCapacity:[array count]];
for (NSDictionary *p in array) {
[nameArray addObject:[p objectForKey:@"name"]];
}
self.my_new_array = array;
[array release];
[nameArray release];
}
그러나 새로운 목록을해야하기 때문에 이론적으로, 나는, 변경 가능한 배열을 사용하고 [nameArray addObjectAtIndex:count]
과 함께 카운터를 사용하지 멀리 얻을 수 있어야합니다 이전 목록만큼이나 오래. 원래 배열의 하위 집합을 필터링하려고하는 것이 아니라 배열의 각 요소의 임의의 특성에서 준설 된 값을 사용하여 정확히 동일한 수의 요소로 새 배열을 만듭니다.
new_list = [p['name'] for p in old_list]
또는이 같은 매저 키스트, 인 경우 : 목표 - C에서 약간 더 명시 적으로 갖는
new_list = map(lambda p: p['name'], old_list)
날을 만드는 일이 같은이 문제를 해결할 수 파이썬에서
이러한 상황을 처리 할 수있는 일반적인 방법이 있는지 궁금합니다. 코코아가있는 NSArray 문서에서 간결 :)NSArray *newArray = [array valueForKey:@"name"];
에 뒤지지되지 특히이 경우
감사합니다. – Prairiedogg