python - 既想用类似list的append的方法,也想用字典a[a]='xx'的方式更新每个键值的内容
怪我咯
怪我咯 2017-04-17 11:06:18
[Python讨论组]

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

谢谢。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
大家讲道理

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

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

dict.update

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号