2012-11-30 3 views
1

나는 모든 정보가 같은 키이지만 값이 다른 14 개의 사전을 가지고 있습니다. 사전이 함수의 인수로 나열 될 때 문장을 조합하는 함수를 작성하려고합니다.문자열에 값 합치기 - 오류

오류 :

def createhouses(x): 
    count = 0 
    for i in [f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14]: 
        i["sn"] = legendary[count] 
        i["fn"] = [legendaryfn[count]] 
        i["family"] = [hProfession[random.randint(0, len(hProfession)-1)]] 
        i["house"] = [houseGen()] 
        i["fortune"] = [prosperity[random.randint(0, len(prosperity)-1)]] 
        i["tort"] = random.randint(0, 1) 
        count+=1 
createhouses(1) 

그리고 오류 던지고되는 코드 : 여기

TypeError: can only concatenate list (not "str") to list 

코드입니다 createHouses에서

def houseHistory(x): 
     print x['fn']+" "+x['sn'] 

답변

1

을, 당신은 넣어 가지고 사전 키의 일부 목록 : -

i["fn"] = [legendaryfn[count]] 
i["house"] = [houseGen()] 

liststr 개체를 연결하여 x['fn']+" "+x['sn']에 연결할 수 없습니다. x['fn']list 개체를 제공합니다. 그래서

i["fn"] = legendaryfn[count] 
i["house"] = houseGen() 

와 - :

그래서으로 변경.

+0

고맙습니다. 대부분의 실수는 작은 실수 인 것 같습니다. 단지 학습의 일부일뿐입니다. 다시 감사합니다. –

+0

@ user1864854 .. 오신 것을 환영합니다 :) –