字典是python中一个十分重要的变量,他是一个可变的容器对象。通过一组key(键)和value(值)对组成一个元素。

组成形式为{'key':'value', 'key':'value'}。整个字典使用大括号{}, 括起来, key和value使用冒号:进行分隔。

键的值可以是数字、字符串、列表甚至是字典。

  1. ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}
  2. print(type(ralf))
  3. #输出 : <class 'dict'>

通过键值来访问字典中的值:

  1. ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}
  2. print(ralf['name'])
  3. print(ralf['height'])
  4.  
  5. #输出 :Ralf
  6. #输出 :188

添加键-值对:我们可以通过指定字典名,键和值来添加键值对。

  1. ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}
  2. print(ralf)
  3. ralf['hobby'] = 'knife'
  4. print(ralf)
  5. #输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188'}
  6. #输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188', 'hobby': 'knife'}

修改字典中的键值对:

  1. ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}
  2. print(ralf)
  3. ralf['height'] = ''
  4. print(ralf)
  5. #输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188'}
  6. #输出 :{'name': 'Ralf', 'sex': 'male', 'height': '186'}

删除键值对,可以使用del 函数进行删除:

  1. ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}
  2. print(ralf)
  3. del ralf['height']
  4. print(ralf)
  5. #输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188'}
  6. #输出 :{'name': 'Ralf', 'sex': 'male'}

使用For循环遍历所有键值对:

  1. ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}
  2.  
  3. for key, value in ralf.items():
  4. print(key + ":" + value)
  5.  
  6. #输出 :name:Ralf
  7. #sex:male
  8. #height:188

遍历字典中的所有键:

  1. ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}
  2.  
  3. for key in ralf.keys():
  4. print(key)
  5.  
  6. #输出 :name
  7. #sex
  8. #height

遍历字典中的所有值:

  1. ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}
  2.  
  3. for value in ralf.values():
  4. print(value)
  5.  
  6. #输出 :Ralf
  7. #male
  8. #

根据PEP8法则,我们在定义字典的时候通常使用以下格式:

  1. ralf = {
  2. 'name': 'Ralf',
  3. 'sex': 'male',
  4. 'height': ''
  5. }

List和dict混合使用:

在list中包含字典:

  1. ralf = {
  2. 'name': 'Ralf',
  3. 'sex': 'male',
  4. }
  5.  
  6. clark = {
  7. 'name': 'Clark',
  8. 'sex': 'male',
  9. }
  10.  
  11. leona = {
  12. 'name': 'Leona',
  13. 'sex': 'female',
  14. }
  15.  
  16. team = [ralf, clark, leona]
  17. print(type(team))
  18. print(team)
  19. #输出: <class 'list'>
  20. #输出: [{'name': 'Ralf', 'sex': 'male'}, {'name': 'Clark', 'sex': 'male'}, {'name': 'Leona', 'sex': 'female'}]
  21.  
  22. for fighter in team:
  23. for key, value in fighter.items():
  24. print(key + ":" + value)
  25.  
  26. #输出:
  27. #name:Ralf
  28. #sex:male
  29. #name:Clark
  30. #sex:male
  31. #name:Leona
  32. #sex:female

在字典中存储列表:

  1. team = {
  2. 'ralf': ['male', 188],
  3. 'clark': ['male', 187],
  4. 'leona': ['female', 174]
  5. }
  6. print(type(team))
  7. print(team)
  8. #输出: <class 'dict'>
  9. #输出:{'ralf': ['male', 188], 'clark': ['male', 187], 'leona': ['female', 174]}
  10.  
  11. for key, value in team.items():
  12. print(key)
  13. for element in value:
  14. print(element)
  15.  
  16. #输出:ralf
  17. #male
  18. #
  19. #clark
  20. #male
  21. #
  22. #leona
  23. #female
  24. #

字典中嵌套字典:

  1. team = {
  2. 'ralf': {'sex': 'male', 'height': ''},
  3. 'clark': {'sex': 'male', 'height': ''},
  4. 'leona': {'sex': 'female', 'height': ''}
  5. }
  6.  
  7. for keys, values in team.items():
  8. print(keys)
  9. for key, value in values.items():
  10. print(key + ":" + value)
  11.  
  12. #输出:ralf
  13. #sex:male
  14. #height:188
  15. #clark
  16. #sex:male
  17. #height:187
  18. #leona
  19. #sex:female
  20. #height:174

Python 学习笔记6 变量-字典的更多相关文章

  1. 【python学习笔记】4.字典:当索引不好用时

    [python学习笔记]4.字典:当索引不好用时 字典是python中唯一内建的map类型 创建: key可以为任何不可改变的类型,包括内置类型,或者元组,字符串 通过大括号: phonebook={ ...

  2. python学习笔记6(字典)

    映射:键值对的关系,键(key)映射值(value) 字典是Python唯一的映射类型 >>> phonebook = {'} >>> phonebook {'} ...

  3. Python 学习笔记2 变量

    Python变量的一些命名规则和指南 每种编程语言都需要变量, 这些变量的命名,我们一般会遵守一些公认的规则. 已达到方便自己,他人阅读的好处. 变量只能包含字母.数字和下划线.变量可以以字母和下划线 ...

  4. python学习笔记(三)、字典

    字典是一种映射类型的数据类型.辣么什么是映射呢?如果看过<数据结构与算法>这一本书的小伙伴应该有印象(我也只是大学学习过,嘻嘻). 映射:就是将两个集合一 一对应起来,通过集合a的值,集合 ...

  5. python学习笔记之三:字典,当索引不好用时

    字典是python中唯一内建的映射类型.字典中的值并没有特殊的顺序,但是都存储在一个特定的键(key)里.键可以是数字,字符串甚至是元组. 1. 创建和使用字典 字典可以通过下面的方式创建: phon ...

  6. 小甲鱼:Python学习笔记001_变量_分支_数据类型_运算符等基础

    1.下载并安装Python 3.5.0 Python是一个跨平台语言,Python从3.0的版本的语法很多不兼容2版本,官网找到最新的版本并下载:http://www.python.org 2.IDL ...

  7. Python 学习笔记5 变量-列表

    列表是python常用的一种变量. 是由一些列按照特定顺序排列的元素组成的.你可以创建包含字母表中的所有字母,数字.可以将任何东西都加入到列表中. 通常情况下,列表中都包含多个元素,所以建议变量的名称 ...

  8. Python 学习笔记4 变量-字符串

    Python中的字符串,我们可以简单的认为是一组用单引号,双引号,三引号包含的一组字符,数字或者特殊字符.在Python3中,所有的字符串都是Unicode字符串. 变量定义 #单引号 string1 ...

  9. Python 学习笔记3 变量-数字

    我们来具体了解下有关 number类型的变量的使用方式和含义. 在Python中的Number类型的变量包含以下几种: int: 通常我们所说的整数, 比如 1, 2 ,3 ,100, 3000 等等 ...

随机推荐

  1. 迅为iTOP-4418/6818开发板-驱动-实现GPIO扩展

    实现 GPIO 扩展,先弄清楚“复用”的概念,将调用这些 GPIO 的驱动去掉配置,重新编译,加到自己的驱动中,就可以实现扩展的 GPIO 的输入和输出.另外必须要先看文档“迅为iTOP-4418开发 ...

  2. Spring注解@Configuration和Java Config

    1.从Spring 3起,JavaConfig功能已经包含在Spring核心模块,它允许开发者将bean定义和在Spring配置XML文件到Java类中.但是,仍然允许使用经典的XML方式来定义bea ...

  3. VMWare 鼠标无法点击 的问题

    今日发现在VMWare虚拟机中点击鼠标没有反应,但是鼠标hover.键盘都是正常的. 还表现为,如果从外部环境激活鼠标,然后移至虚拟机区域,快速双击,则可以捕获为单击. 这个问题在网络上未见有明确解释 ...

  4. 11.2.0.4 aix下运行第二个节点root.sh报错处理

    第二个节点运行root.sh报错如下 Entries will be added to the /etc/oratab file as needed by Database Configuration ...

  5. 【原创】大叔算法分享(5)聚类算法DBSCAN

    一 简介 DBSCAN:Density-based spatial clustering of applications with noise is a data clustering algorit ...

  6. file_get_contents函数偶尔报错的抑制显示

    $result = @file_get_contents($url);可以使用@进行抑制file_get_contents()的报错 @是为了抑制错误显示,让用户看不到,提升用户体验.注意:只是抑制错 ...

  7. PHP输出缓存ob系列函数

    ob,输出缓冲区,是output buffering的简称,而不是output cache.ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额外的负担. ob的基本原则:如果 ...

  8. 进入js

    JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECM ...

  9. jquery 第三章

    1.回顾$(document).ready(function(){    })$(function(){    }) ID选择器.类选择器.元素选择器层次选择器:空格(上文下:tr td{})属性过滤 ...

  10. Eclipse安装git插件以及关联导入GitHub项目

    一.Eclipse配置git 1.查看自己eclipse的版本 打开eclipse 导航: help->AboutEclipse 如图: 2.检查Eclipse中是否已安装Git插件 菜单栏He ...