快活林资源网 Design By www.csstdc.com
dict是python中的常用数据结构,应该尽量掌握其使用方法
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中
代码如下
""" 初始化一个dict的四种方式: 1. dict() -> 创建一个空的dict 2. dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs 3. dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v 4. dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. For example: dict(one=1, two=2) """ # 第一种方式 d = dict() # 第二种方式 # d = {"person": {"name": "admin", "age": 12}, # "animal": {"name": "gaodan", "age": 3}, # } # 第三种方式 d = dict({"name": "admin"}) print(d) # 第四种方式 d = dict(name='admin', age=12) print(type(d)) print("原字典:%s" % d) # {'name': 'admin', 'age': 12} # clear, 清空 # d.clear() # print(d) # copy 浅拷贝 new_d = d.copy() print("copy出的新字典:%s" % new_d) # {'name': 'admin', 'age': 12} new_d['name'] = 'root' print('修改之后的copy字典:%s' % new_d) # 修改之后的copy字典:{'name': 'root', 'age': 12} print("修改之后的原字典:%s" % d) # {'name': 'admin', 'age': 12} # 总结: copy浅拷贝简单数据结构时,创建了一个新的对象,修改新dict中的值,不会引起原有dict中值的变化 print('*' * 50) d = {"person": {"name": "admin", "age": 12}, "animal": {"name": "gaodan", "age": 3} } print(d) # {'person': {'name': 'admin', 'age': 12}, 'animal': {'name': 'gaodan', 'age': 3}} new_d = d.copy() new_d['person']['name'] = 'root' print(new_d) # {'person': {'name': 'root', 'age': 12}, 'animal': {'name': 'gaodan', 'age': 3}} print(d) # {'person': {'name': 'root', 'age': 12}, 'animal': {'name': 'gaodan', 'age': 3}} # 总结: 浅拷贝: copy浅拷贝复杂数据结构时,只是指向了这个复杂数据结构的引用,并没有创建一个新的对象.所以修改new_d这个新dict的值时,原dict中的值也发生变化.如果是简单数据结构,不存在这类情况,上面也有示例 """ python中的深拷贝 需要 import copy copy.deepcopy() """ print('--------------------deep copy------------------') import copy d = {"person": {"name": "admin", "age": 12}, "animal": {"name": "gaodan", "age": 3} } print(d) dd = copy.deepcopy(d) print(dd) # {'person': {'name': 'admin', 'age': 12}, 'animal': {'name': 'gaodan', 'age': 3}} dd['person']['name'] = '哑巴' print(dd) # {'person': {'name': '哑巴', 'age': 12}, 'animal': {'name': 'gaodan', 'age': 3}} print(d) # {'person': {'name': 'admin', 'age': 12}, 'animal': {'name': 'gaodan', 'age': 3}} # fromkeys, 创建一个新的dict ,key是序列中的值 d = dict.fromkeys(['jet','lily'],{"name":"mam"}) print(d) # {'jet': {'name': 'mam'}, 'lily': {'name': 'mam'}} # get .取值 ,没有就是None value = d.get("jet") print(value) #{'name': 'mam'} d = {"name":'admin','age':12} #items 方法 kv = d.items() for k,v in kv: print(k,v) keys = d.keys() print(keys) # dict_keys(['name', 'age']) # pop(key) 移除指定的key 对应的kv # value = d.pop('name') # 删除name 键值对 # print(value) # admin # print(d) # {'age': 12} # popitem 移除后面的一组item popitem = d.popitem() print(popitem) # ('age', 12) 移除了这一对映射关系 print(d) # {'name': 'admin'} d 还剩下这玩艺 d = {"name":'admin','age':12} # setdefault(k,v) , 如果原dict有中k, 就返回原dict中k-->v , 否则就将k,v添加到dict中 default_value = d.setdefault('female', 'ali') print(default_value) print(d) # {'name': 'admin', 'age': 12, 'female': 'ali'} default_value = d.setdefault('female', 'jd') print(default_value) # ali print(d) # {'name': 'admin', 'age': 12, 'female': 'ali'} # update. 往dict中添加元素 # 使用update的第一种方式 ,注意key没有加引号 # d.update(book='python',teacher='dog') print(d) # {'name': 'admin', 'age': 12, 'female': 'ali', 'book': 'python', 'teacher': 'dog'} #使用update的第二种方式 d.update([('teacher','dog'),{'book','java'}]) #好吊的样子 print(d) #{'name': 'admin', 'age': 12, 'female': 'ali', 'teacher': 'dog', 'book': 'java'} # values vs = d.values() print(vs) #dict_values(['admin', 12, 'ali', 'dog', 'java'])
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
快活林资源网 Design By www.csstdc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
快活林资源网 Design By www.csstdc.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年12月28日
2024年12月28日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]