您好,匿名用户
随意问技术百科期待您的加入

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

+1 投票

在写一个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很好,就是没有自带方法动态向里面增加新元素啊

谢谢。

用户头像 提问 2012年 12月1日 @ Akali 上等兵 (237 威望)
分享到:

1个回答

+1 投票
 
最佳答案

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

class mydict(dict):
    def append(self, key, value):
        self[key] = value
用户头像 回复 2012年 12月1日 @ Vayne 上等兵 (271 威望)
选中 2012年 12月1日 @Akali
提一个问题:

相关问题

+2 投票
1 回复 50 阅读
用户头像 提问 2012年 12月31日 @ Saber 中士 (1,234 威望)
0 投票
1 回复 41 阅读
0 投票
1 回复 30 阅读
0 投票
1 回复 38 阅读
用户头像 提问 2012年 12月1日 @ Trish 上等兵 (154 威望)
0 投票
1 回复 55 阅读
用户头像 提问 2012年 12月1日 @ Apollo 上等兵 (269 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...