鱼C论坛

 找回密码
 立即注册
查看: 3930|回复: 2

[技术交流] <知识点总结> 字典对象的常用方法【原创】

[复制链接]
发表于 2015-3-20 23:47:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
字典对象的所有除魔法方法外的函数有: ['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

#########################

1. clear()
清空字典
>>> test = {1: 'i', 2: 'love', 3: 'fishc'}
>>> test
{1: 'i', 2: 'love', 3: 'fishc'}
>>> test.clear()
>>> test
{}

2. copy()
复制字典
>>> raw = {1: 'i', 2: 'love', 3: 'fishc'}
>>> same = raw.copy()
>>> raw
{1: 'i', 2: 'love', 3: 'fishc'}
>>> same
{1: 'i', 2: 'love', 3: 'fishc'}
>>> id(same) == id(raw)
False

3. fromkeys(iterable, value)
返回一个字典, 键为iterable里的每一项, 值为value, 等效于 {i: value for i in iterable}
>>> {}.fromkeys(range(1, 33), 'Excellent')
{1: 'Excellent', 2: 'Excellent', 3: 'Excellent', 4: 'Excellent', 5: 'Excellent', 6: 'Excellent', 7: 'Excellent', 8: 'Excellent', 9: 'Excellent', 10: 'Excellent', 11: 'Excellent', 12: 'Excellent', 13: 'Excellent', 14: 'Excellent', 15: 'Excellent', 16: 'Excellent', 17: 'Excellent', 18: 'Excellent', 19: 'Excellent', 20: 'Excellent', 21: 'Excellent', 22: 'Excellent', 23: 'Excellent', 24: 'Excellent', 25: 'Excellent', 26: 'Excellent', 27: 'Excellent', 28: 'Excellent', 29: 'Excellent', 30: 'Excellent', 31: 'Excellent', 32: 'Excellent'}

4. get(k[, d])
返回字典中键k对应的值, 如果字典中没有键k, 则返回d
>>> test = {1: 'i', 2: 'love', 3: 'fishc'}
>>> test.get(3, 'key不存在!)
'fishc'
>>> test.get('ddd', 'key不存在!)
'key不存在!'

5. keys(), values(), items()
keys()返回字典中所有键的列表
values()返回字典所有值的列表
items()返回字典(键, 值)的列表
>>> test = {'aac': ('777', 6), 66: 'love', 45: 765, 'hh': 'fishc'}
>>> test.keys()
dict_keys(['aac', 66, 45, 'hh'])
>>> test.values()
dict_values([('777', 6), 'love', 765, 'fishc'])
>>> dict.items()
dict_items([('aac', ('777', 6)), (66, 'love'), (45, 765), ('hh', 'fishc')])

6. pop(k[, d])
返回字典中k对应的值, 并删除, 不存在就返回d
>>> test = {1: 'i', 2: 'love', 3: 'fishc'}
>>> test
{1: 'i', 2: 'love', 3: 'fishc'}
>>> test.pop(1, '不存在!')
'i'
>>> test
{2: 'love', 3: 'fishc'}
>>> test.pop(1, '不存在!')
'不存在!'
>>> test
{2: 'love', 3: 'fishc'}

7. popitem()
返回字典中的第一项(默认顺序), 并从字典中删除
>>> test = {1: 'i', 2: 'love', 3: 'fishc'}
>>> test.popitem()
(1, 'i')
>>> test
{2: 'love', 3: 'fishc'}

8. setdefault(k[, d])
如果键在字典中, 返回这个键所对应的值
如果键不在字典中, 向字典中加入这个键, 以d为这个键的值, 并返回d
>>> test = {2: 'love', 3: 'fishc'}
>>> test
{2: 'love', 3: 'fishc'}
>>> test.setdefault(2, '!!!!!')
'love'
>>> test
{2: 'love', 3: 'fishc'}
>>> test.setdefault(1, 'i')
'i'
>>> test
{1, 'i', 2: 'love', 3: 'fishc'}

9. update
将新字典添加到原字典
>>> raw = {1: 'i', 4: 'com'}
>>> add = {2: 'love', 3: 'fishc'}
>>> raw
{1: 'i', 4: '.com'}
>>> raw.update(add)
>>> raw
{1: 'i', 2: 'love', 3: 'fishc', 4: '.com'}

评分

参与人数 2荣誉 +8 鱼币 +8 贡献 +5 收起 理由
STmove + 3 + 3 + 2
拈花小仙 + 5 + 5 + 3 感谢楼主无私奉献!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-27 11:28:01 | 显示全部楼层
很不错很不错,继续加油啊斑竹。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-1 14:37:19 | 显示全部楼层
感谢楼主整理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 13:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表