2014-11-04 3 views
-1

목록 내의 목록 내의 문자열 목록에 함수를 적용한 다음 동일한 양식으로 반환하려고합니다. 예를 들어 두 개의 하위 목록에 문자열이 포함 된 큰 목록이 있습니다. 각 문자열에 a 문자를 추가하고 내 목록을 같은 형식으로 다시 가져 오려고합니다.다차원 배열 내의 문자열 변경

some_large_list = [['str1', 'str2', 'str3'], ['str4', 'str5', 'str6']] 

new_large_list = [] 

for lst in some_large_list: 
    for word in lst: 
     new_large_list.append(add_letter_a(word)) 

new_large_list = [['str1a', 'str2a', 'str3a'], ['str4a', 'str5a', 'str6a']] 

하지만 대신 내가 얻을 :

new_large_list = ['str1a', 'str2a', 'str3a', 'str4a', 'str5a', 'str6a'] 

가 어떻게 자신의 별도의 하위 목록에서 문자열을 유지합니까?

답변

0

목록의 목록을 살펴 보았으므로 동일한 방법으로 다시 구성해야합니다. 그 외에도 함수 add_letter_a을 구현해야합니다. 목록 사용을 시도하십시오. u를 다시 만드는 항목을 저장하고 목록을 저장하는 또 다른 기본 목록을 만듭니다. 코드는 같아야합니다 :

some_large_list = [['str1', 'str2', 'str3'], ['str4', 'str5', 'str6']] 

new_large_list = [] 

def add_letter_a(word): 
    return word+'a' 

for lst in some_large_list: 
    s=[] 
    for word in lst: 
     s.append(add_letter_a(word)) 
    new_large_list.append(s) 

print new_large_list 

출력 : 사용하여 할 수있는 더 좋은 방법이

[['str1a', 'str2a', 'str3a'], ['str4a', 'str5a', 'str6a']] 

있습니다 list comprehension.

some_large_list = [['str1', 'str2', 'str3'], ['str4', 'str5', 'str6']] 
new_large_list = [[ word+'a' for word in listOfWords ] for listOfWords in some_large_list ] 
print new_large_list