python入门学习:5.字典
python入门学习:5.字典
关键点:字典
5.1 使用字典
在python中字典是一系列键-值对。每个键都和一个值关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。在python中,字典用花括号表示。如下,健-值是相互关联的两个值,键和值之间用冒号分开,而健-值对之间用逗号分开
1alien_0 = {'color':'green','point':5}
5.1.1 访问字典中的值
要获取与键相关联的值,可以依次指定字典名和放在方括号内的键。如下所示:
1alien_0 = {'color':'green','point':5}
2print(alien_0['color'])
5.1.2 添加健-值对
字典是一种动态结构,可随时在其中添加键-值对。要添加健-值对,可依次指定字典名、用方括号括起来的键和与之关联的值
1alien_0 = {'color':'green','point':5}
2print(alien_0)
3alien_0[x_position] = 0 #添加x位置
4alien_0[y_position] = 25 #添加y位置
5print(alien_0)
6{'point': 5, 'color': 'green'}
7{'y_position': 25, 'x_position': 0, 'point': 5, 'color': 'green'}
8#注意,健-值对的排列顺序与添加顺序不同。python不关注健值对的python顺序,只关心键和值之间的关联
5.1.3 创建一个空字典
有些场合需要先创建一个空字典,使用一对空的{}即可
1alien_0 = {}
2alien_0['color'] = 'green'
3alien_0['point'] = 5
4print(alien_0)
5.1.4 修改字典中的值
要修改字典中的值,可依次指定字典名、用方括号括起的键以及该键关联的新值。
1alien_0 = {'color':'green','point':5}
2print(alien_0)
3alien_0['color'] = 'red'
4print(alien_0)
5.1.5 删除键-值对
对于字典中不需要的信息,可使用del语句将相应的键-值对彻底删除。使用del语句必须指定字典名和要删除的键。
1alien_0 = {} #创建一个空字典
2alien_0['color'] = 'green' #添加一个健值对
3alien_0['point'] = 5 #添加一个健值对
4print(alien_0)
5del alien_0['point'] #删除一个健值对
6print(alien_0)
5.2 遍历字典
5.2.1 遍历所有的键-值对
使用for循环通过方法items()遍历键和值
1user_0 = {
2 'username': 'efermi',
3 'frist' : 'enrico',
4 'last': 'fermi'
5}
6user_0 = {
7 'username': 'efermi',
8 'frist' : 'enrico',
9 'last': 'fermi'
10}
11for key,value in user_0.items():
12 print("\nkeys:"+ key)
13 print("Value:"+value)
14#注意遍历字典时,健值对返回的顺序也与存储顺序不同
5.2.2 遍历字典中的所有键
for循环遍历,通过方法keys()获取健值
1user_0 = {
2 'username': 'efermi',
3 'frist' : 'enrico',
4 'last': 'fermi'
5}
6for key in user_0.keys():
7 print("\nkeys:"+ key)
5.2.3 按顺序遍历字典中的所有键
字典总是明确记录键和值之间的关联关系,但是获取字典元素时,获取顺序是不可预测的,要以特定的顺序返回元素,一种办法是在for循环中对返回的键进行排序。为此可以使用函数sorted()来获得按特定顺序排列的键列表的腐败:
1favorite_languages = {
2 'jen': 'python',
3 'sarah': 'c',
4 'edward':'ruby',
5 'phil': 'python',
6 }
7for name in sorted(favorite_languages.keys()): #生成key列表
8#按字母排序
9Edward,thank you for talking the poll.
10Jen,thank you for talking the poll.
11Phil,thank you for talking the poll.
12Sarah,thank you for talking the poll.
5.2.4 遍历字典中的所有值
如果只关心值,可通过values(),返回一个值列表,不包含任何键
1favorite_languages = {
2 'jen': 'python',
3 'sarah': 'c',
4 'edward':'ruby',
5 'phil': 'python',
6 }
7for language in favorite_languages.values(): #生成value列表
8 print(language.title())
9
10C
11Ruby
12Python
13Python
通过set()可以让python找出列表中独一无二的元素,剔除重复元素
1favorite_languages = {
2 'jen': 'python',
3 'sarah': 'c',
4 'edward':'ruby',
5 'phil': 'python',
6 }
7for language in set(favorite_languages.values()): #生成value列表
8 print(language.title())
5.3 嵌套
有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。
5.3.1 字典列表
列表中嵌套字典。
1alien_0 = {'color': 'green','point':5}
2alien_1 = {'color': 'yellow','point':10}
3alien_2 = {'color': 'red','point':15}
4aliens = [alien_0,alien_1,alien_2]
5for alien in aliens:
6 print(alien)
5.3.2 在字典中存储列表
有时候需要将字典存储在列表中。例如:
1pizza = {
2 'crust':'thick',
3 'toppings':['mushrooms','extra chesse'],
4 }
5print("you ordered a" + pizza['crust'] + "-crust pizaa" + "whith the following toppings:")
6for topping in pizza['toppings']:#遍历字典中列表
7 print("\t" + topping)
5.3.3 在字典中存储字典
在字典中也可以嵌套字典,不过这样会使代码结构变地复杂
1users = {
2 'aeinstein' : {
3 'frist':'albert',
4 'last':'einstein',
5 'location':'princetion',
6 },
7 'mcurie' : {
8 'frist':'marie',
9 'last':'curie',
10 'location':'paris',
11 },
12 }
13for username, user_info in users.items():
14 print("\nUserName: "+ username)
15 full_name = user_info['frist'] + " " + user_info['last']
16 location = user_info['location']
17
18 print("\tfull name: "+ full_name.title())
19 print("\tlocation: "+ location.title())
python入门学习:5.字典的更多相关文章
- python入门学习:7.函数
python入门学习:7.函数 关键点:函数 7.1 定义函数7.2 传递实参7.3 返回值7.4 传递列表7.5 传递任意数量的实参7.6 将函数存储在模块中 7.1 定义函数 使用关键字def ...
- python入门学习:6.用户输入和while循环
python入门学习:6.用户输入和while循环 关键点:输入.while循环 6.1 函数input()工作原理6.2 while循环简介6.3 使用while循环处理字典和列表 6.1 函数in ...
- python入门学习:9.文件和异常
python入门学习:9.文件和异常 关键点:文件.异常 9.1 从文件中读取数据9.2 写入文件9.3 异常9.4 存储数据 9.1 从文件中读取数据 9.1.1 读取整个文件 首先创建一个pi_ ...
- python入门学习:8.类
python入门学习:8.类 关键点:类 8.1 创建和使用类8.2 使用类和实例8.3 继承8.4 导入类 8.1 创建和使用类 面向对象编程是最有效的软件编写方法之一.在面向对象编程中,你编写 ...
- python入门学习:4.if语句
python入门学习:4.if语句 关键点:判断 4.1 一个简单的测试4.2 条件测试4.3 if语句 4.1 一个简单的测试 if语句基本格式如下,注意不要漏了冒号 1if 条件 :2 ...
- python入门学习:3.操作列表
python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表 循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...
- python入门学习:2.列表简介
python入门学习:2.列表简介 关键点:列表 2.1 列表是什么2.2 修改.添加和删除元素2.3 组织列表 2.1 列表是什么 列表,是由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...
- Python入门学习:1.变量和简单的数据类型
python入门学习:1.变量和简单的数据类型 关键点:变量.字符串.数字 1.1 变量的命名和使用1.2 字符串1.3 数字1.4 注释 1.1 变量的命名和使用 变量,顾名思义是一个可变的量, ...
- Python入门学习之路,怎么 “开心,高效,踏实” 地把Python学好?兴趣,兴趣,兴趣!
Python入门学习之路,怎么 “开心,高效,踏实” 地把Python学好?兴趣,兴趣,兴趣!找到你自己感兴趣的点进行切入,并找到兴趣点进行自我驱动是最好的学习方式! 推荐两本书,一本作为 ...
随机推荐
- xpath语法笔记
xpath是在xml文档中查找信息的语言, 其语法整理如下: 路径表达式(选取节点) div div下的所有子节点 /div 根节点下的div //div 匹配所有的div . 当前节点 .. 父节点 ...
- Java中的深克隆和浅克隆
为什么要克隆 首先思考一个问题, 为什么需要克隆对象? 直接new一个对象不行吗? 克隆的对象可能包含一些已经修改过的属性, 而new出来的对象的属性都还是初始化时候的值, 所以当需要一个新的对象来保 ...
- MVC模式-----struts2框架
MVC模式-----struts2框架 一.struts MVC模式 1.概述 MVC是模型(model)---视图model(view)---控制器(control)的缩写,是一种用于将逻辑.数据和 ...
- 2019-01-13 [日常]mov文件转换为gif
因为需要将之前mac下用QuickTime录屏生成的文件(mov格式)转换成gif文件, 便于传到某些博客平台, 于是找到了这个转换工具, 已将原代码的命名中文化并简化. Ruby和视频转换都是新手, ...
- IBM沃森会成为第一个被抛弃的AI技术吗?
作者|William Vorhies 译者|姚佳灵 编辑|Debra 导读:IBM 的沃森问答机(Question Answering Machine,简称 QAM),因 2011 年参加综艺节目&l ...
- SAP MM 没有维护MRP 视图的物料可以正常参与采购业务
SAP MM 没有维护MRP 视图的物料可以正常参与采购业务 Material number: R000006872,没有维护MRP 视图, 也就是没有指定该物料来源是采购还是自制.此种情况下,S ...
- 苹果手机如何投屏到win10电脑上
苹果手机中的IOS系统比安卓系统的确好用.苹果手机使用多久都不会出现手机卡顿的现象,一如既往的流畅自如,这就是人们追求苹果机的原因之一.苹果手机朋友们可能会觉得手机屏幕太小影响视觉怎么办,苹果手机如何 ...
- loadrunner 脚本优化-参数化之场景中的参数化取值
脚本优化-场景中的参数化取值 by:授客 QQ:1033553122 Action() { lr_eval_string("{NewParam}"); lr_eval_stri ...
- Android项目实战(四十二):启动页优化,去除短暂白屏或黑屏
大家会发现一个空项目,从手机桌面打开app是秒启动.但是对于自己开发的项目,有时会发现打开app的时候,会有短暂的1秒--2秒的白屏或者黑屏,然后才进入到程序界面. 个人理解为我们自己实现的Appli ...
- Android 自定义AlertDialog的实现
Android默认的AlertDialog太单调,我们可以通过继承原生的Dialog来实现自定义的Dialog. 本文的自定义Dialog和原生的AlertDialog的创建方式类似,通过一个静态Bu ...