Python 学习笔记6 变量-字典
字典是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 变量-字典的更多相关文章
- 【python学习笔记】4.字典:当索引不好用时
[python学习笔记]4.字典:当索引不好用时 字典是python中唯一内建的map类型 创建: key可以为任何不可改变的类型,包括内置类型,或者元组,字符串 通过大括号: phonebook={ ...
- python学习笔记6(字典)
映射:键值对的关系,键(key)映射值(value) 字典是Python唯一的映射类型 >>> phonebook = {'} >>> phonebook {'} ...
- Python 学习笔记2 变量
Python变量的一些命名规则和指南 每种编程语言都需要变量, 这些变量的命名,我们一般会遵守一些公认的规则. 已达到方便自己,他人阅读的好处. 变量只能包含字母.数字和下划线.变量可以以字母和下划线 ...
- python学习笔记(三)、字典
字典是一种映射类型的数据类型.辣么什么是映射呢?如果看过<数据结构与算法>这一本书的小伙伴应该有印象(我也只是大学学习过,嘻嘻). 映射:就是将两个集合一 一对应起来,通过集合a的值,集合 ...
- python学习笔记之三:字典,当索引不好用时
字典是python中唯一内建的映射类型.字典中的值并没有特殊的顺序,但是都存储在一个特定的键(key)里.键可以是数字,字符串甚至是元组. 1. 创建和使用字典 字典可以通过下面的方式创建: phon ...
- 小甲鱼:Python学习笔记001_变量_分支_数据类型_运算符等基础
1.下载并安装Python 3.5.0 Python是一个跨平台语言,Python从3.0的版本的语法很多不兼容2版本,官网找到最新的版本并下载:http://www.python.org 2.IDL ...
- Python 学习笔记5 变量-列表
列表是python常用的一种变量. 是由一些列按照特定顺序排列的元素组成的.你可以创建包含字母表中的所有字母,数字.可以将任何东西都加入到列表中. 通常情况下,列表中都包含多个元素,所以建议变量的名称 ...
- Python 学习笔记4 变量-字符串
Python中的字符串,我们可以简单的认为是一组用单引号,双引号,三引号包含的一组字符,数字或者特殊字符.在Python3中,所有的字符串都是Unicode字符串. 变量定义 #单引号 string1 ...
- Python 学习笔记3 变量-数字
我们来具体了解下有关 number类型的变量的使用方式和含义. 在Python中的Number类型的变量包含以下几种: int: 通常我们所说的整数, 比如 1, 2 ,3 ,100, 3000 等等 ...
随机推荐
- Stm32 GPIO复习
地点:中图四楼. 1.七个寄存器 配置寄存器:GPIOx_CPL.GPIOx_CPH; 数据寄存器:GPIOx_IDR.GPIOx_ODR: 置位/复位寄存器:GPIOx_BSRR 复位寄存器:GPI ...
- dubbo负载均衡与集群集群容错
1.负载均衡 在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为 random 随机调用. 1. 负载均衡策略 Random LoadBalance 随机,按权重设置随机概率.(默认值)在一个 ...
- [Kubernetes]如何让集群为我们工作?
前一段时间倒腾k8s的时候,写了一系列的博客,有很多人不理解那样做的意义是什么,为什么要那样做,这篇文章就尝试解释一下,在实际环境中,是如何让集群为我们工作的. 因为只研究了一个月左右的时间,认识难免 ...
- 【原创】大叔问题定位分享(5)Kafka客户端报错SocketException: Too many open files 打开的文件过多
kafka0.8.1 一 问题 10月22号应用系统忽然报错: [2014/12/22 11:52:32.738]java.net.SocketException: 打开的文件过多 [2014/12/ ...
- yum [Errno 256] No more mirrors to try 解决方法
[root@localhost yum]# yum update Loaded plugins: fastestmirror, refresh-packagekit, security Reposit ...
- mysql 的crud操作(增删改查)
1.mysql添加记录 --添加记录的语法(可添加单条记录或者多条记录),INTO是可以省略的,字段名也可以省略的,但是如果省略的话,后面对应的value的值就要全部填写 INSERT [INTO] ...
- Java:Spring @Transactional工作原理
本文将深入研究Spring的事务管理.主要介绍@Transactional在底层是如何工作的.之后的文章将介绍: propagation(事务传播)和isolation(隔离性)等属性的使用 事务使用 ...
- HBuilder只提示html 不提示js
1. 右键行号,点击语法验证器设置 点开Javascript语法验证器 然后修复你js代码中的不规范代码,就会有提示了.
- EChart 文字大小调整 饼状图为例
一.EChart图中的文字调整(以饼图为例) 二.源码: { "title": { "text": "", "subtext&qu ...
- 《C和指针》---指针
内存和地址 计算机的内存由许多的位(bit)组成,每个位可以容纳值0或1. 由于一个位所能表示的范围太有限,所以通常许多位合成一组作为一个单元. 这些位置的每一个都被称为字节(byte),每个字节包含 ...