奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌

您現在所在的位置:首頁 >學習資源 > Python全棧+人工智能入門教材 > Python基礎入門教程45:Python 字典(Dictionary)

Python基礎入門教程45:Python 字典(Dictionary)

來源:奇酷教育 發表于:

Python開發 Python教程 Python基礎

  Python 字典(Dictionary)

  字典是另一種可變容器模型,且可存儲任意類型對象。

  字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ,格式如下所示:

  d = {key1 : value1, key2 : value2 }

  鍵必須是唯一的,但值則不必。

  值可以取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組。

  一個簡單的字典實例:

  dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

  也可如此創建字典:

  dict1 = { 'abc': 456 }; dict2 = { 'abc': 123, 98.6: 37 };

  訪問字典里的值

  把相應的鍵放入熟悉的方括弧,如下實例:

  實例

  #!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; print "dict['Name']: ", dict['Name']; print "dict['Age']: ", dict['Age'];

  以上實例輸出結果:

  dict['Name']: Zara

  dict['Age']: 7

  如果用字典里沒有的鍵訪問數據,會輸出錯誤如下:

  實例

  #!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; print "dict['Alice']: ", dict['Alice'];

  以上實例輸出結果:

  dict['Alice']:

  Traceback (most recent call last):

  File "test.py", line 5, in

  print "dict['Alice']: ", dict['Alice'];

  KeyError: 'Alice'

  修改字典

  向字典添加新內容的方法是增加新的鍵/值對,修改或刪除已有鍵/值對如下實例:

  實例

  #!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; dict['Age'] = 8; # update existing entry dict['School'] = "DPS School"; # Add new entry print "dict['Age']: ", dict['Age']; print "dict['School']: ", dict['School'];以上實例輸出結果:

  dict['Age']: 8

  dict['School']: DPS School

  刪除字典元素

  能刪單一的元素也能清空字典,清空只需一項操作。

  顯示刪除一個字典用del命令,如下實例:

  實例

  #!/usr/bin/python # -*- coding: UTF-8 -*- dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}; del dict['Name']; # 刪除鍵是'Name'的條目 dict.clear(); # 清空詞典所有條目 del dict ; # 刪除詞典 print "dict['Age']: ", dict['Age']; print "dict['School']: ", dict['School'];

  但這會引發一個異常,因為用del后字典不再存在:

  dict['Age']:

  Traceback (most recent call last):

  File "test.py", line 8, in

  print "dict['Age']: ", dict['Age'];

  TypeError: 'type' object is unsubscriptable

  注:del()方法后面也會討論。

  字典鍵的特性

  字典值可以沒有限制地取任何python對象,既可以是標準的對象,也可以是用戶定義的,但鍵不行。

  兩個重要的點需要記住:

  1)不允許同一個鍵出現兩次。創建時如果同一個鍵被賦值兩次,后一個值會被記住,如下實例:

  實例

  #!/usr/bin/python dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'}; print "dict['Name']: ", dict['Name'];

  以上實例輸出結果:

  dict['Name']: Manni

  2)鍵必須不可變,所以可以用數字,字符串或元組充當,所以用列表就不行,如下實例:

  實例

  #!/usr/bin/python dict = {['Name']: 'Zara', 'Age': 7}; print "dict['Name']: ", dict['Name'];

  以上實例輸出結果:

  Traceback (most recent call last):

  File "test.py", line 3, in

  dict = {['Name']: 'Zara', 'Age': 7};

  TypeError: list objects are unhashable

  字典內置函數&方法

  Python字典包含了以下內置函數:

  序號函數及描述

  1cmp(dict1, dict2)

  比較兩個字典元素。

  2len(dict)

  計算字典元素個數,即鍵的總數。

  3str(dict)

  輸出字典可打印的字符串表示。

  4type(variable)

  返回輸入的變量類型,如果變量是字典就返回字典類型。

  Python字典包含了以下內置方法:

  序號函數及描述

  1dict.clear()

  刪除字典內所有元素

  2dict.copy()

  返回一個字典的淺復制

  3dict.fromkeys(seq[, val]))

  創建一個新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對應的初始值

  4dict.get(key, default=None)

  返回指定鍵的值,如果值不在字典中返回default值

  5dict.has_key(key)

  如果鍵在字典dict里返回true,否則返回false

  6dict.items()

  以列表返回可遍歷的(鍵, 值) 元組數組

  7dict.keys()

  以列表返回一個字典所有的鍵

  8dict.setdefault(key, default=None)

  和get()類似, 但如果鍵不存在于字典中,將會添加鍵并將值設為default

  9dict.update(dict2)

  把字典dict2的鍵/值對更新到dict里

  10dict.values()

  以列表返回字典中的所有值

  11pop(key[,default])

  刪除字典給定鍵 key 所對應的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。

  12popitem()

  隨機返回并刪除字典中的一對鍵和值。

主站蜘蛛池模板: 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 双工位钻铣攻牙机-转换工作台钻攻中心-钻铣攻牙机一体机-浙江利硕自动化设备有限公司 | 蔬菜配送公司|蔬菜配送中心|食材配送|饭堂配送|食堂配送-首宏公司 | 二氧化碳/活性炭投加系统,次氯酸钠发生器,紫外线消毒设备|广州新奥 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | 对辊破碎机-液压双辊式,强力双齿辊,四辊破碎机价格_巩义市金联机械设备生产厂家 | 作文导航网_作文之家_满分作文_优秀作文_作文大全_作文素材_最新作文分享发布平台 | 代做标书-代写标书-专业标书文件编辑-「深圳卓越创兴公司」 | 船用泵,船用离心泵,船用喷射泵,泰州隆华船舶设备有限公司 | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 数年网路-免费在线工具您的在线工具箱-shuyear.com | TPM咨询,精益生产管理,5S,6S现场管理培训_华谋咨询公司 | 恒温槽_恒温水槽_恒温水浴槽-上海方瑞仪器有限公司 | 硫化罐-电加热蒸汽硫化罐生产厂家-山东鑫泰鑫智能装备有限公司 | elisa试剂盒-PCR试剂盒「上海谷研实业有限公司」 | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 步进电机_agv电机_伺服马达-伺服轮毂电机-和利时电机 | 橡胶粉碎机_橡胶磨粉机_轮胎粉碎机_轮胎磨粉机-河南鼎聚重工机械制造有限公司 | 设定时间记录电子秤-自动累计储存电子秤-昆山巨天仪器设备有限公司 | 空调风机,低噪声离心式通风机,不锈钢防爆风机,前倾皮带传动风机,后倾空调风机-山东捷风风机有限公司 | 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | 液氮罐_液氮容器_自增压液氮罐_杜瓦瓶_班德液氮罐厂家 | PE拉伸缠绕膜,拉伸缠绕膜厂家,纳米缠绕膜-山东凯祥包装 | 气密性检测仪_气密性检测设备_防水测试仪_密封测试仪-岳信仪器 | 高中学习网-高考生信息学习必备平台 | 新材料分散-高速均质搅拌机-超声波分散混合-上海化烁智能设备有限公司 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 粘度计维修,在线粘度计,二手博勒飞粘度计维修|收购-天津市祥睿科技有限公司 | 分轨 | 上传文件,即刻分离人声和伴奏| 工业制氮机_psa制氮机厂家-宏骁智能装备科技江苏有限公司 | 非小号行情 - 专业的区块链、数字藏品行情APP、金色财经官网 | 万师讲师网-优质讲师培训师供应商,讲师认证,找讲师来万师 | 中控室大屏幕-上海亿基自动化控制系统工程有限公司 | 卷筒电缆-拖链电缆-特种柔性扁平电缆定制厂家「上海缆胜」 | 药品/药物稳定性试验考察箱-埃里森仪器设备(上海)有限公司 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 双段式高压鼓风机-雕刻机用真空泵-绍兴天晨机械有限公司 | 防爆大气采样器-防爆粉尘采样器-金属粉尘及其化合物采样器-首页|盐城银河科技有限公司 | 烟台条码打印机_烟台条码扫描器_烟台碳带_烟台数据采集终端_烟台斑马打印机-金鹏电子-金鹏电子 | 智能风向风速仪,风速告警仪,数字温湿仪,综合气象仪(气象五要素)-上海风云气象仪器有限公司 |