写在前面

本系列适合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': [101102103104],

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'], [101102103104]])

In [11]:# 获取整个字典
       l_dict.items()
Out[11]:dict_items([('name', ['tony''tom''judy''cindy']), ('num', [101102103104])])

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%的精力放在创造性工作上,注意,时间和精力有交集但绝不重合。

再延伸一下,在你什么都不懂的时候,还是先完成机械的工作任务,深入琢磨其中的逻辑吧,不要一上来什么都没做就先想着创新。


©著作权归作者所有:来自51CTO博客作者mb5fe18f5282239的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 列表是个什么鬼?
  2. 青铜和黄金选手分别怎么玩转python列表?
  3. 必知必会的8个Python列表技巧
  4. Python地信专题 | 基于geopandas的空间数据分析—数据结构篇
  5. sum() 函数性能堪忧,列表降维有何良方?
  6. 如何给列表降维?sum()函数的妙用
  7. 数据结构 #2 36张图带你深刻理解链表
  8. 超强汇总:学习Python列表,只需这篇文章就够了
  9. 数据结构 #1 浅谈数组

随机推荐

  1. android setting 設置<一>
  2. Android 推送消息(MQTT) PHP发送
  3. Android动画学习笔记-Android(安卓)Anima
  4. Phone双模修改涉及文件列表
  5. Android 开启或关闭硬件加速
  6. android 国内镜像
  7. android-使App全屏 - 随心
  8. Dowload android source code
  9. android中修改tablayout中的字体大小和颜
  10. android底部中间凸出导航 BottomProtrudi