概述
在绝大部分的开发语言中与实际开发过程中,Dictionary扮演着举足轻重的角色。从我们的数据模型到服务器返回的参数到数据库的应用等等,Dictionary的身影无处不在。
在Python中,Dictionary是一种可变的容器类型。所谓容器类型,就是我们放置数据的地方。不同于List的有序、操作时对数据类型统一性的要求较严格,Dictionary是一种可变的、不限存储对象、无序的数据模型。
字典有着类似列表的高灵活度的特点,而与列表通过偏移索引的存取元素的方式不同,字典是通过无序的键来存取键值对的,即字典是任意对象的无需集合,可在原处增加或减少,且支持任意深度的嵌套(即可以包含诸如列表,其他的字典等),下面就介绍了Python提供的11个字典内置方法的基本概述及简单示例。
示例代码
# dict import copy # 示例字典 D = { 'name': 'Ruo Data', 'web': { 'site': 'https://www.ruodata.com', 'basic': 'github' }, 'major': 'python' } print(D) print('clear'.center(40, '-')) # clear|清除字典中所有键值对 D1 = copy.deepcopy(D) D1.clear() print(D1) print('copy'.center(40, '-')) # copy|对字典进行浅拷贝,如需详细了解可以参考上上节可变对象的浅拷贝和深拷贝详解《Python列表赋值,复制,深拷贝以及5种浅拷贝详解》 D2 = copy.deepcopy(D) D2_copy = D2.copy() D2_copy['web']['articl_nums'] = 2 print(D2) print('fromkeys'.center(40, '-')) # fromkeys| fromkeys(*args, **kwargs) 创建一个新字典,以序列的中元素做字典的键,value 为字典所有键对应的初始值 D3 = dict.fromkeys(D) print(D3) D3 = dict.fromkeys(D, 'SSS') print(D3) print('get'.center(40, '-')) # get| get(self, k, d=None) 获取指定键k对应的值,如果该键不存在则返回d,默认为`None` 该方法可以用来判断某键是否包含在字典内 value = D.get('name') print(value) # 判断键`'TEAM'`是否存在于D中: if D.get('TEAM'): print(D.get('TEAM')) else: print(None) print('items'.center(40, '-')) # items| 返回类似集合的可遍历的(键, 值) 元组列表。 items = D.items() print(items) # 利用items 遍历字典打印键值对: for key, value in D.items(): print('{}: {}'.format(key, value)) print('keys'.center(40, '-')) # keys| 返回类似集合的可遍历的键列表 keys = D.keys() print(keys) print('pop'.center(40, '-')) # pop| 删除一个键并返回其对应的值 D4 = copy.deepcopy(D) value = D4.pop('name') print(value) print(D4) print('popitem'.center(40, '-')) # popitem| 随机返回并删除字典中的一对键和值(一般删除末尾对),若列表为空再调用此方法会抛出KeyError异常 D5 = copy.deepcopy(D) key_value = D5.popitem() print(key_value) print(D5) print('setdefault'.center(40, '-')) # setdefault| setdefault(self, k, d=None) 函数和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。 D6 = copy.deepcopy(D) key_value = D6.setdefault('major') print(key_value) key_value = D6.setdefault('UNKONW_KEY', 'UNKOWN_VALUE') print(key_value) print(D6) print('update'.center(40, '-')) # update| 更新字典中的键/值对,可以修改存在的键对应的值,也可以添加新的键/值对到字典中,将e中键-值对添加到字典d中,e可能是字典,也可能是键-值对序列。详见实例。 D7 = copy.deepcopy(D) # 传一个字典 D7.update({'three': 3, 'four': 4}) print(D7) # 传关键字 D7.update(five=5, six=6) print(D7) # 传一个包含一个或多个元组的列表 D7.update([('seven', 7), ('eight', 8)]) print(D7) # 传一个包含一个或多个列表的元组 D7.update((['nice', 9], ['ten', 10])) print(D7) # 传一个zip()函数 D7.update(zip(['eleven', 'twelve'], [11, 12])) print(D7) # 使用以上任意方法修改存在的键对应的值 D7.update(one=111, two=222) print(D7) print('values'.center(40, '-')) # values| 返回类似集合的可遍历的值列表 values = D.values() print(values)
示例结果
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月20日
2024年11月20日
- 柏菲·珞叔作品集《金色大厅2》限量开盘母带ORMCD[低速原抓WAV+CUE]
- Gareth.T《sad songs(Explicit)》[320K/MP3][29.03MB]
- Gareth.T《sad songs(Explicit)》[FLAC/分轨][152.85MB]
- 证声音乐图书馆《海风摇曳·盛夏爵士曲》[320K/MP3][63.06MB]
- 龚玥《金装龚玥HQCD》头版限量[WAV分轨]
- 李小春《吻别》萨克斯演奏经典[原抓WAV+CUE]
- 齐秦《辉煌30年24K珍藏版》2CD[WAV+CUE]
- 证声音乐图书馆《海风摇曳·盛夏爵士曲》[FLAC/分轨][321.47MB]
- 群星 《世界经典汽车音乐》 [WAV分轨][1G]
- 冷漠.2011 《冷漠的爱DSD》[WAV+CUE][1.2G]
- 陈明《流金岁月精逊【中唱】【WAV+CUE】
- 群星《Jazz-Ladies1-2爵士女伶1-2》HQCD/2CD[原抓WAV+CUE]
- 群星《美女私房歌》(黑胶)[WAV分轨]
- 郑源.2009《试音天碟》24BIT-96KHZ[WAV+CUE][1.2G]
- 飞利浦试音碟 《环球群星监听录》SACD香港版[WAV+CUE][1.1G]