Python学习之路-字典dict常用方法

字典特性:

  • dict无序
  • key唯一,天生去重

创建字典:

way1:小心列表坑

 1 __author__ = "KuanKuan"
 2 d = dict.fromkeys([1, 2, 3], ["name", "age"])
 3 print("字典:", d)
 4
 5 d[1][0] = "mmph好坑"
 6 print("修改后:",d)
 7 """
 8 输出:
 9 字典: {1: [‘name‘, ‘age‘], 2: [‘name‘, ‘age‘], 3: [‘name‘, ‘age‘]}
10 修改后: {1: [‘mmph好坑‘, ‘age‘], 2: [‘mmph好坑‘, ‘age‘], 3: [‘mmph好坑‘, ‘age‘]}
11
12 """

way2:

 1 info = {"teacher1":"苍井空",
 2         "teacher2":"京香",
 3         "teacher3":"波多野结衣",
 4         "teacher4":"小泽玛利亚"
 5         }
 6 print("你懂得:",info)
 7 """
 8 输出:
 9 你懂得: {‘teacher1‘: ‘苍井空‘, ‘teacher2‘: ‘京香‘, ‘teacher3‘: ‘波多野结衣‘, ‘teacher4‘: ‘小泽玛利亚‘}
10 """

字典无序输出

查询

print(info["teacher1"])#如果不存在会报错
print(info.get("teacher5"))#推荐用这种方式如果key不存在则返回None
print("teacher1" in info)#如果存在返回True
print("查询字典的keys:",info.keys())#查询字典的keys
print("查询字典的values:",info.values())#查询字典的values
print(info.items())
"""
苍井空
None
True
查询字典的keys: dict_keys([‘teacher1‘, ‘teacher2‘, ‘teacher3‘, ‘teacher4‘])
查询字典的values: dict_values([‘苍井空‘, ‘京香‘, ‘波多野结衣‘, ‘小泽玛利亚‘])
dict_items([(‘teacher1‘, ‘苍井空‘), (‘teacher2‘, ‘京香‘), (‘teacher3‘, ‘波多野结衣‘), (‘teacher4‘, ‘小泽玛利亚‘)])
"""

修改

1 info["teacher1"] = "天海翼"
2 print("修改后:",info)
3 #修改后: {‘teacher1‘: ‘天海翼‘, ‘teacher2‘: ‘京香‘, ‘teacher3‘: ‘波多野结衣‘, ‘teacher4‘: ‘小泽玛利亚‘}

增加

 1 info["teacher1"] = "天海翼"
 2 print("修改后:",info)
 3 #修改后: {‘teacher1‘: ‘天海翼‘, ‘teacher2‘: ‘京香‘, ‘teacher3‘: ‘波多野结衣‘, ‘teacher4‘: ‘小泽玛利亚‘}
 4 info["teacher5"] = "上原瑞惠"#没有则自动创立
 5 print("增加后的字典:",info)
 6 info.setdefault("teacher1","樱井莉亚")#存在则不会被修改
 7 info.setdefault("teacher6","樱井莉亚")
 8 print(info)
 9 b = {"teacher1":"苍井空",
10      "teacher7":"桃谷绘里香"
11      }
12 info.update(b)
13 print("修改后的:",info)
14 """
15 修改后: {‘teacher1‘: ‘天海翼‘, ‘teacher2‘: ‘京香‘, ‘teacher3‘: ‘波多野结衣‘, ‘teacher4‘: ‘小泽玛利亚‘}
16 增加后的字典: {‘teacher1‘: ‘天海翼‘, ‘teacher2‘: ‘京香‘, ‘teacher3‘: ‘波多野结衣‘, ‘teacher4‘: ‘小泽玛利亚‘, ‘teacher5‘: ‘上原瑞惠‘}
17 {‘teacher1‘: ‘天海翼‘, ‘teacher2‘: ‘京香‘, ‘teacher3‘: ‘波多野结衣‘, ‘teacher4‘: ‘小泽玛利亚‘, ‘teacher5‘: ‘上原瑞惠‘, ‘teacher6‘: ‘樱井莉亚‘}
18 修改后的: {‘teacher1‘: ‘苍井空‘, ‘teacher2‘: ‘京香‘, ‘teacher3‘: ‘波多野结衣‘, ‘teacher4‘: ‘小泽玛利亚‘, ‘teacher5‘: ‘上原瑞惠‘, ‘teacher6‘: ‘樱井莉亚‘, ‘teacher7‘: ‘桃谷绘里香‘}
19 """

删除

 1 del info["teacher1"]
 2 print("删除后的:",info)
 3 info.pop("teacher2")
 4 print("删除后的2:",info)
 5 info.popitem()
 6 print("随机删除后的:",info)
 7 """
 8 删除后的: {‘teacher2‘: ‘京香‘, ‘teacher3‘: ‘波多野结衣‘, ‘teacher4‘: ‘小泽玛利亚‘, ‘teacher5‘: ‘上原瑞惠‘, ‘teacher6‘: ‘樱井莉亚‘, ‘teacher7‘: ‘桃谷绘里香‘}
 9 删除后的2: {‘teacher3‘: ‘波多野结衣‘, ‘teacher4‘: ‘小泽玛利亚‘, ‘teacher5‘: ‘上原瑞惠‘, ‘teacher6‘: ‘樱井莉亚‘, ‘teacher7‘: ‘桃谷绘里香‘}
10 随机删除后的: {‘teacher3‘: ‘波多野结衣‘, ‘teacher4‘: ‘小泽玛利亚‘, ‘teacher5‘: ‘上原瑞惠‘, ‘teacher6‘: ‘樱井莉亚‘}
11
12 """

遍历

for i in info:
    print(i,info[i])
print("*"*50)
for key,value in info.items():#先转列表,在遍历,如果字典过大,会变慢
    print(key,value)
"""
teacher3 波多野结衣
teacher4 小泽玛利亚
teacher5 上原瑞惠
teacher6 樱井莉亚
**************************************************
teacher3 波多野结衣
teacher4 小泽玛利亚
teacher5 上原瑞惠
teacher6 樱井莉亚
"""

清空

1 info.clear()
2 print("清空后的:",info)
3 #清空后的: {}

原文地址:https://www.cnblogs.com/JankinYu/p/8457107.html

时间: 2024-11-05 19:27:40

Python学习之路-字典dict常用方法的相关文章

Python学习笔记_字典(Dict)_遍历_不同方法_性能测试对比

今天专门把python的字典各种方法对比测试了一下性能效果. 测试代码如下: 1 def dict_traverse(): 2 from time import clock 3 my_dict = {'name': 'Jim', 'age': '20', 'height': '180cm', 'weight': '60kg'} 4 5 t_start = clock() 6 for key in my_dict: # 性能最差写法.无优化 7 print 'Type01.01: %s --- %

Python学习之路-list的常用方法

增 append() insert(index,obj) #可以向指定位置添加 1 __author__ = "KuanKuan" 2 list = [] 3 list.append("JankinYu") 4 list.insert(0,"kali") 5 print(list)#输出结果#['kali', 'JankinYu'] 删 pop()#可以删除指定位置如果不给参数默认删除最后一个 remove()#可以删除指定的一个值 del li

Python学习之路-字典外传

__author__ = "KuanKuan" info = {'teacher1': '苍井空', 'teacher2': '京香', 'teacher3': '波多野结衣', 'teacher4': '小泽玛利亚', 'teacher5': '上原瑞惠', 'teacher6': '樱井莉亚', 'teacher7': '桃谷绘里香'} print(info.keys()) d = list(info.keys())[0] b = list(info.values())[0] pr

Python学习之路—2018/6/19

Python学习之路-2018/6/19 1.注册自定义转化器 converts.py class Birthday: regex = '[0-9]{8}' # 匹配规则 def to_python(self, value): # 匹配的字符串返回具体的变量值,传递到对应的视图函数中 return int(value) def to_url(self,value): # 反向解析 return "%04d" % value urls.py from django.urls import

Python学习之路

Python学习之路 目录 Python学习之路[第一篇]:流程控制,用户交互,语法要求,变量,字符,注释,模块导入的使用 Python学习之路[第二篇]:文件,字符串,列表,元组,字典,集合的使用 更新中...

python 学习笔记 三 字典

字典 Python的高效的key/value哈希表结构叫做"dict", dict的内容可以写成一系列的key:value对并放入{ }中, 相当于: dict = {key1:value1, key2:value2, ...}, 一个空的字典就是俩个大括号{ }. 下面是从一个空字典创建字典以及一些关键点: 数字, 字符串和元组可以作为字典的key, value可以是任何类型(包括字典). ## Can build up a dict by starting with the the

Python学习之路——强力推荐的Python学习资料

资料一:程序媛想事儿(Alexia)总结 Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl.Tcl等动态语言一样,Python具备垃圾回收功能,能够自动管理内存使用.它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务. Python上手虽然容易,但与其它任何语言一样要学好Python并非一日之功.我的Pyth

Python 学习之路(二)

Python 学习之路(二) 以下所用的是Python 3.6 一.条件语句 简单判断 1 if 判断条件: 2 执行语句-- 3 else: 4 执行语句-- 复杂判断 1 if 判断条件1: 2 执行语句1-- 3 elif 判断条件2: 4 执行语句2-- 5 elif 判断条件3: 6 执行语句3-- 7 else: 8 执行语句4-- 二.循环语句 2.1 while语句 和其他语言一样,不同的是多了else语句.在 python 中,while - else 在循环条件为 false

Python 学习之路(三)

Python 学习之路(三) 以下所用的是Python 3.6 一.集合部分 集合是一个无序的,不重复的数据集合,主要用来去重,以及关系测试:交集,差集,并集等 1.1 关系操作 1.1.1 列表去重 可以给列表去重,例如: 1 set_demo = [1,2,3,4,5,3,2,1] # 列表 2 set_demo = set(set_demo) # 转换成集合,来去重 3 print(set_demo) 1.1.2 取交集 intersection()方法 可以获得两个集合的交集部分,例如: