Python数据结构:字典那些事儿
写在前面
本系列适合0基础的人食用,这是利用Excel学习Python系列的第5篇文章
之前的列表都复习好了吗:python数据结构:列表
are u ready?另一种数据结构:字典,要来了
字典(dict),是用大括号{}括起来的一种键值对的数据结构,字典通常这样表示:
字典名= {key1:value1,key2,value2}
key是键,value是值,一组键和值之间用冒号分割,不同的键值对之间用逗号分隔。键可以是任何数据类型,值也可以是任何数据类型包括数据结构,如列表。可以用type函数查看一个字典的数据类型,可以看到为dict
In [1]:# 新建字典
t_dict ={“tony”:101,”tom”:102,”judy”:103,”baby”:104,”cindy”:105}
type(t_dict)
Out[1]:dict
1、建
同样地,我们从建、增、删、查、改几个角度来学习。首先新建一个字典,直接传入键值对结构,键为字符,值为数值:
In [2]:# 新建字典
t_dict ={“tony”:101,”tom”:102,”judy”:103,”baby”:104,”cindy”:105}
t_dict
Out[2]:{’tony’: 101, ’tom’: 102, ’judy’: 103, ’baby’: 104, ’cindy’: 105}
也可传入列表来创建字典
In [3]:# 列表传入创建字典
l_dict = {“name”:[“tony”,”tom”,”judy”,”cindy”],”num”:[101,102,103,104]}
l_dict
Out[3]:{’name’: [’tony’, ’tom’, ’judy’, ’cindy’], ’num’: [101, 102, 103, 104]}
2、增
字典中增加键值对,如在l_dict字典中新增age键值对。
In [4]:# 新增键值对
l_dict[“age”] = [14,15,16,17]
l_dict
Out[4]:{’name’: [’tony’, ’tom’, ’judy’, ’cindy’],
’num’: [101, 102, 103, 104],
’age’: [14, 15, 16, 17]}
3、删
删除键值对,可用del函数根据键来删除
In [5]:# 删除键值对
del l_dict[“age”]
l_dict
Out[5]:{’name’: [’tony’, ’tom’, ’judy’, ’cindy’],
’num’: [101, 102, 103, 104],
4、查4.1 查找键是否在字典中
用in操作符,keys方法用来获取字典内的键,查找age是不是l_dict中的键
In [6]:# 查找值
105 in l_dict.values()
Out[6]:False
4.2 查找值是否在字典中
Values方法用来获取字典中的值
In [7]:# 查找键
“age” in l_dict.keys()
Out[7]:True
4.3 查找字典中指定值的位置
根据键查找对应的值,直接用键来访问:
In [8]:# 根据键查找值
l_dict[“name”]
Out[8]:[’tony’, ’tom’, ’judy’, ’cindy’]
值、键和项目
keys方法用来获取字典中的所有键,values方法用来获取所有值,items方法用来获取整个字典
In [9]:# 获取全部的键
l_dict.keys()
Out[9]:dict_keys([’name’, ’num’])
In [10]:# 获取全部的值
l_dict.values()
Out[10]:dict_values([[’tony’, ’tom’, ’judy’, ’cindy’], [101, 102, 103, 104]])
In [11]:# 获取整个字典
l_dict.items()
Out[11]:dict_items([(’name’, [’tony’, ’tom’, ’judy’, ’cindy’]), (’num’, [101, 102, 103, 104])])
5、改
同列表一样,查找后赋值。如将l_dict里num键中的104改为109.
In [12]:# 修改值
l_dict[“num”] = [101,102,103,109]
l_dict
Out[12]:{’name’: [’tony’, ’tom’, ’judy’, ’cindy’],
’num’: [101, 102, 103, 109],
’age’: [14, 15, 16, 17]}
总结
创建列表:花括号{键:值}
keys获取键
values获取值
items获取项目
写在后面
关于职场:
李笑来在《财富自由之路》中有一句话:从一开始就要训练自己的创造能力和创新能力,而不是只在意自己完成任务的机械工作能力。
解读一下这句话,实际工作中我们可能80%的时间都在做那些机械的任务,但真正能带给我们提升的却是那20%的创造性工作,2/8法则就是这么的残酷,虽然感觉时间被剥夺这件事情无可避免,但还是建议你将80%的精力放在创造性工作上,注意,时间和精力有交集但绝不重合。
再延伸一下,在你什么都不懂的时候,还是先完成机械的工作任务,深入琢磨其中的逻辑吧,不要一上来什么都没做就先想着创新。
关于职场,你有什么想说的,欢迎评论区留言啊~
下一节内容:序列
相关内容:
列表是个什么鬼?
从Excel的数据类型说Python
利用Excel学习Python:变量
利用Excel学习Python:准备篇
猜你喜欢:
这样用Excel动态交互图表,还要什么前端?
@ 作者:可乐,进阶的数据分析师
@ 公众号/知乎专栏/头条/简书:可乐的数据分析之路
@ 加微信(data_cola)备注:进群,拉你进可乐的数据分析交流群,每日数据分析知识总结,不定期行业经验分享
转载请注明:电商实战教程 » Python数据结构:字典那些事儿