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

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

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

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

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

ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}
print(ralf['name'])
print(ralf['height']) #输出 :Ralf
#输出 :188

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

ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}
print(ralf)
ralf['hobby'] = 'knife'
print(ralf)
#输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188'}
#输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188', 'hobby': 'knife'}

修改字典中的键值对:

ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}
print(ralf)
ralf['height'] = ''
print(ralf)
#输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188'}
#输出 :{'name': 'Ralf', 'sex': 'male', 'height': '186'}

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

ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}
print(ralf)
del ralf['height']
print(ralf)
#输出 :{'name': 'Ralf', 'sex': 'male', 'height': '188'}
#输出 :{'name': 'Ralf', 'sex': 'male'}

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

ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}

for key, value in ralf.items():
print(key + ":" + value) #输出 :name:Ralf
#sex:male
#height:188

遍历字典中的所有键:

ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}

for key in ralf.keys():
print(key) #输出 :name
#sex
#height

遍历字典中的所有值:

ralf = {'name': 'Ralf', 'sex': 'male', 'height': ''}

for value in ralf.values():
print(value) #输出 :Ralf
#male
#

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

ralf = {
'name': 'Ralf',
'sex': 'male',
'height': ''
}

List和dict混合使用:

在list中包含字典:

ralf = {
'name': 'Ralf',
'sex': 'male',
} clark = {
'name': 'Clark',
'sex': 'male',
} leona = {
'name': 'Leona',
'sex': 'female',
} team = [ralf, clark, leona]
print(type(team))
print(team)
#输出: <class 'list'>
#输出: [{'name': 'Ralf', 'sex': 'male'}, {'name': 'Clark', 'sex': 'male'}, {'name': 'Leona', 'sex': 'female'}] for fighter in team:
for key, value in fighter.items():
print(key + ":" + value) #输出:
#name:Ralf
#sex:male
#name:Clark
#sex:male
#name:Leona
#sex:female

在字典中存储列表:

team = {
'ralf': ['male', 188],
'clark': ['male', 187],
'leona': ['female', 174]
}
print(type(team))
print(team)
#输出: <class 'dict'>
#输出:{'ralf': ['male', 188], 'clark': ['male', 187], 'leona': ['female', 174]} for key, value in team.items():
print(key)
for element in value:
print(element) #输出:ralf
#male
#
#clark
#male
#
#leona
#female
#

字典中嵌套字典:

team = {
'ralf': {'sex': 'male', 'height': ''},
'clark': {'sex': 'male', 'height': ''},
'leona': {'sex': 'female', 'height': ''}
} for keys, values in team.items():
print(keys)
for key, value in values.items():
print(key + ":" + value) #输出:ralf
#sex:male
#height:188
#clark
#sex:male
#height:187
#leona
#sex:female
#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. SSH之Hibernate总结篇

    Hibernate hibernate 简介: hibernate是一个开源ORM(Object/Relationship Mipping)框架,它是对象关联关系映射的持久层框架,它对JDBC做了轻量 ...

  2. Nginx+Apache环境的安装与配置

    我们依然尽可能采用yum来安装我们需要的软件,由系统官方维护的软件,其安全性和稳定性都值得信赖,并且容易管理,升级方便,但是在CentOS和RHEL的官方yum源中暂时没有Nginx等软件包,所以我们 ...

  3. 使用fetch调用node.js的Resuful服务

    在目前的软件架构中,慢慢又有这样的趋势,就是在前端和业务接口层中间再加入一层,这是由于nodejs相对JAVA而言不适合做复杂的业务逻辑,如下图: 在这样的结构中,JS前端和web层都是前端开发工程师 ...

  4. CKEditor5 + vue2.0 自定义图片上传、highlight、字体等用法

    因业务需求,要在 vue2.0 的项目里使用富文本编辑器,经过调研多个编辑器,CKEditor5 支持 vue,遂采用.因 CKEditor5 文档比较少,此处记录下引用和一些基本用法. CKEdit ...

  5. saltstack 入门

    1.Saltstack是什么? saltstack 是一个异构平台基础设施管理工具,具有远程执行.配置管理.云管理.只需花费数分钟就可以运行起来,扩展性足以支撑上万台服务器,速度快,服务器之间秒级通讯 ...

  6. 2017蓝桥杯第十题(k倍区间)

    #include<iostream> #include<stdio.h> using namespace std; ; ],a[N]; int lowbit(int n){ r ...

  7. Ubuntu18.04更换国内源(阿里,网易,中科大,清华等源)

    1.备份 备份/etc/apt/sources.list文件 mv /etc/apt/sources.list /etc/apt/sourses.list.backup 2.新建 新建/etc/apt ...

  8. word 内容控件属性编辑

    场景: 别人发给自己一份word模板,基于统一性,里面包含了很多“内容控件”,一般情况下,只需要根据内容控件进行编辑即可,但如果想对内容控件本身做编辑操作,例如删除等. 操作: 单击 文件>选项 ...

  9. Composer更新慢的解决方案

    有两种方式启用镜像服务: 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中. 单个项目配置: 将配置信息添加到某个项目的 composer.json 文 ...

  10. 为什么用Flow

    Flow 是 facebook 出品的 JavaScript 静态类型检查工具.Vue.js 的源码利用了 Flow 做了静态类型检查,所以了解 Flow 有助于我们阅读源码. flow的工作方式? ...