鱼C论坛

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

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

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

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

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

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

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

1. clear()
清空字典
  1. >>> test = {1: 'i', 2: 'love', 3: 'fishc'}
  2. >>> test
  3. {1: 'i', 2: 'love', 3: 'fishc'}
  4. >>> test.clear()
  5. >>> test
  6. {}
复制代码


2. copy()
复制字典
  1. >>> raw = {1: 'i', 2: 'love', 3: 'fishc'}
  2. >>> same = raw.copy()
  3. >>> raw
  4. {1: 'i', 2: 'love', 3: 'fishc'}
  5. >>> same
  6. {1: 'i', 2: 'love', 3: 'fishc'}
  7. >>> id(same) == id(raw)
  8. False
复制代码


3. fromkeys(iterable, value)
返回一个字典, 键为iterable里的每一项, 值为value, 等效于 {i: value for i in iterable}
  1. >>> {}.fromkeys(range(1, 33), 'Excellent')
  2. {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
  1. >>> test = {1: 'i', 2: 'love', 3: 'fishc'}
  2. >>> test.get(3, 'key不存在!)
  3. 'fishc'
  4. >>> test.get('ddd', 'key不存在!)
  5. 'key不存在!'
复制代码


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


6. pop(k[, d])
返回字典中k对应的值, 并删除, 不存在就返回d
  1. >>> test = {1: 'i', 2: 'love', 3: 'fishc'}
  2. >>> test
  3. {1: 'i', 2: 'love', 3: 'fishc'}
  4. >>> test.pop(1, '不存在!')
  5. 'i'
  6. >>> test
  7. {2: 'love', 3: 'fishc'}
  8. >>> test.pop(1, '不存在!')
  9. '不存在!'
  10. >>> test
  11. {2: 'love', 3: 'fishc'}
复制代码


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


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


9. update
将新字典添加到原字典
  1. >>> raw = {1: 'i', 4: 'com'}
  2. >>> add = {2: 'love', 3: 'fishc'}
  3. >>> raw
  4. {1: 'i', 4: '.com'}
  5. >>> raw.update(add)
  6. >>> raw
  7. {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-4-27 12:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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