首页 > 既想用类似list的append的方法,也想用字典a[a]='xx'的方式更新每个键值的内容

既想用类似list的append的方法,也想用字典a[a]='xx'的方式更新每个键值的内容

在写一个http类的时候,表示header、参数等可以用list或者dict两种结构来表示:
headers=[('Content-Type',2),('User-Agent','xxx')]
headers={'Content-Type':2,'User-Agent':'xxx'}
但是现在他们各有优势
list可以用append方法添加新的元素
dict可以以键值为依据更新其值,而list没有这层逻辑。
现在我既想用类似list的append的方法动态添加数据,也想用字典a[a]='xx'的方式更新每个键值的内容

我这个类类似于header有这种需求的属性(get、post的参数等)很多,如果用list或dict,然后写一个方法来实现另外的那个功能的话,就需要为每一个属性都写这个方法,感觉重复的方法太多了。
一般这种情况(同时需要动态添加元素,也需要按key更新value)要选用那种数据结构呢?
我感觉dict很好,就是没有自带方法动态向里面增加新元素啊

谢谢。


如果你一定要为dict增加一个append方法的话。。

class mydict(dict):
    def append(self, key, value):
        self[key] = value

dict.update

【热门文章】
【热门文章】