电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python數據結構dict常用操作代碼實例

瀏覽:5日期:2022-08-02 15:37:05

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 copyd = {'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 .取值 ,沒有就是Nonevalue = 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 移除后面的一組itempopitem = 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) # aliprint(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’}# valuesvs = d.values()print(vs) #dict_values([’admin’, 12, ’ali’, ’dog’, ’java’])

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 一体化污水处理设备_生活污水处理设备_全自动加药装置厂家-明基环保 | 万家财经_财经新闻_在线财经资讯网 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 电缆隧道在线监测-智慧配电站房-升压站在线监测-江苏久创电气科技有限公司 | 电镀整流器_微弧氧化电源_高频电解电源_微弧氧化设备厂家_深圳开瑞节能 | 医用空气消毒机-医用管路消毒机-工作服消毒柜-成都三康王 | 展厅设计-展馆设计-专业企业展厅展馆设计公司-昆明华文创意 | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 | 快速门厂家-快速卷帘门-工业快速门-硬质快速门-西朗门业 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 垃圾压缩设备_垃圾处理设备_智能移动式垃圾压缩设备--山东明莱环保设备有限公司 | 植筋胶-粘钢胶-碳纤维布-碳纤维板-环氧砂浆-加固材料生产厂家-上海巧力建筑科技有限公司 | 茅茅虫AI论文写作助手-免费AIGC论文查重_写毕业论文降重 | 成都顶呱呱信息技术有限公司-贷款_个人贷款_银行贷款在线申请 - 成都贷款公司 | 不锈钢轴流风机,不锈钢电机-许昌光维防爆电机有限公司(原许昌光维特种电机技术有限公司) | 深圳高新投三江工业消防解决方案提供厂家_服务商_园区智慧消防_储能消防解决方案服务商_高新投三江 | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 断桥铝破碎机_发动机破碎机_杂铝破碎机厂家价格-皓星机械 | 芝麻黑-芝麻黑石材厂家-永峰石业 | 【甲方装饰】合肥工装公司-合肥装修设计公司,专业从事安徽办公室、店面、售楼部、餐饮店、厂房装修设计服务 | 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | 螺旋丝杆升降机-SWL蜗轮-滚珠丝杆升降机厂家-山东明泰传动机械有限公司 | uv机-uv灯-uvled光固化机-生产厂家-蓝盾机电 | 棕刚玉_白刚玉_铝酸钙-锐石新材料| 板式换网器_柱式换网器_自动换网器-郑州海科熔体泵有限公司 | 南京交通事故律师-专打交通事故的南京律师 | 硫酸钡厂家_高光沉淀硫酸钡价格-河南钡丰化工有限公司 | 游戏版号转让_游戏资质出售_游戏公司转让-【八九买卖网】 | 岸电电源-60HZ变频电源-大功率变频电源-济南诚雅电子科技有限公司 | 一体化污水处理设备-一体化净水设备-「山东梦之洁水处理」 | 细砂提取机,隔膜板框泥浆污泥压滤机,螺旋洗砂机设备,轮式洗砂机械,机制砂,圆锥颚式反击式破碎机,振动筛,滚筒筛,喂料机- 上海重睿环保设备有限公司 | 轴流风机-鼓风机-离心风机-散热风扇-罩极电机,生产厂家-首肯电子 | 壹车网 | 第一时间提供新车_资讯_报价_图片_排行! | 常州翔天实验仪器厂-恒温振荡器-台式恒温振荡器-微量血液离心机 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 软文世界-软文推广-软文营销-新闻稿发布-一站式软文自助发稿平台 | 定制液氮罐_小型气相液氮罐_自增压液氮罐_班德液氮罐厂家 | 衬四氟_衬氟储罐_四氟储罐-无锡市氟瑞特防腐科技有限公司 | 超声波_清洗机_超声波清洗机专业生产厂家-深圳市好顺超声设备有限公司 | pbt头梳丝_牙刷丝_尼龙毛刷丝_PP塑料纤维合成毛丝定制厂_广州明旺 | 二次元影像仪|二次元测量仪|拉力机|全自动影像测量仪厂家_苏州牧象仪器 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 |