Python 2.7 在python中使用defaultdict时出错。我是python新手,我得到了AttributeError:'str'对象没有属性'append'

Python 2.7 在python中使用defaultdict时出错。我是python新手,我得到了AttributeError:'str'对象没有属性'append',python-2.7,Python 2.7,出现此错误是因为如果密钥不存在,则插入一个字符串作为值cars1[brand.car\u name]=brand.car\u model 因为您使用的是defaultdict,所以甚至不需要执行此检查,只需调用append即可。如果密钥不存在,将创建一个空列表,这就是使用defaultdict的要点 你的问题是什么?我得到AttributeError:“str”对象在tis代码中没有属性“append”。我尝试使用默认dict并检查密钥是否已经存在,我使用的是append选项。因为我得到了这个错

出现此错误是因为如果密钥不存在,则插入一个字符串作为值cars1[brand.car\u name]=brand.car\u model

因为您使用的是defaultdict,所以甚至不需要执行此检查,只需调用append即可。如果密钥不存在,将创建一个空列表,这就是使用defaultdict的要点


你的问题是什么?我得到AttributeError:“str”对象在tis代码中没有属性“append”。我尝试使用默认dict并检查密钥是否已经存在,我使用的是append选项。因为我得到了这个错误,字典中的值是字符串cars1[brand.car\u name]=brand.car\u model。为什么您希望cars1[some_key]。附加到工作中?我希望同一个key@DeepSpace有两个值,我希望同一个key有两个值谢谢您的帮助。我明白了。如果我错了,请纠正我。当使用cars1[brand.car\u name]=brand.car\u model时,它不会创建列表。尽管它是默认的dict。所以我们应该只使用ars1[brand.car\u name].appendbrand.car_model@AADHIA.R传递给defaultdict的callable只有在缺少密钥时才被调用。我没听清楚。你能给我一些详细的答复吗。我是python新手,这就是为什么?
#!/usr/bin/py

from collections import defaultdict
"i am getting str object has no attribute appened"
class car:

    def __init__(self,car_name):

    self.car_name = car_name


class model(car):

    def __init__(self,car_model,car_name):

    self.car_model=car_model

    car.__init__(self,car_name)

cars1=defaultdict(list)

if __name__ == "__main__":

    i=1

    while(i<=2):

        car_name=raw_input("Enter the car name: ")

        car_model=raw_input("Enter the car model: ")

        brand=model(car_model,car_name)

        if brand.car_name in cars1:

            print "1"

            print brand.car_name

#### here i am getting this error ######

            cars1[brand.car_name].append(brand.car_model)

        else:

            print "2"

            cars1[brand.car_name]=brand.car_model

            i+=1

    for key,values in cars1.items():

        print key+":"+values

        print cars1.items()
brand = model(car_model, car_name)

cars1[brand.car_name].append(brand.car_model)