1

私は 14 個の辞書を持っていますが、すべて同じ情報のキーを含んでいますが、値は異なります。関数の引数として辞書がリストされているときに文をまとめる関数を構築しようとしています。

エラーは次のとおりです。

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

コードは次のとおりです。

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)

そして、エラーをスローしているコード:

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

1 に答える 1

1

ではcreateHouses、次のようないくつかの辞書キーのリストを配置しました。

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

したがって、内のオブジェクトlistと a を連結することはできません。以来、あなたにオブジェクトを与えます。strx['fn']+" "+x['sn']x['fn']list

したがって、それらを次のように変更します。 -

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

等々。

于 2012-11-30T12:54:37.857 に答える