python学习(二)----字典
文章目录
- 学习教材
- 第六章 字典
- 1、字典的简单操作
- 2、遍历字典
- 3、输出时排序和去重
- 4、嵌套
学习教材
第六章 字典
1、字典的简单操作
#定义一个字典
cars={'color':'red','price':200000}
print(cars)
#访问字典中的值
print(cars['color'])
print(cars['price'])
#为字典添加键值对
cars['owner']='sushan'
print(cars)
print(cars['owner'])
#删除键值对
del cars['owner']
print(cars)
输出结果:
{‘color’: ‘red’, ‘price’: 200000}
red
200000
{‘color’: ‘red’, ‘price’: 200000, ‘owner’: ‘sushan’}
sushan
{‘color’: ‘red’, ‘price’: 200000}
2、遍历字典
鉴于字典可能包含大量的数据,Python支持对字典遍历。字典可用于以各种方式存储信息
因此有多种遍历字典的方式:可遍历字典的所有键—值对、键或值。
遍历所有的键值对 items()
方法items()返回一个键—值对列表。用for循环依次将每个键—值对存储到指定的两个变量中
code={'first':'c','second':'c++','third':'c#',
}
#可声明两个变量,用于存储键—值对中的键和值
for key,value in code.items():print('key:'+key)print('value:'+value)
输出结果:
key:first
value:c
key:second
value:c++
key:third
value:c#
注意:即便遍历字典时,键—值对的返回顺序也与存储顺序不同。Python不关心键—值对的存储顺序,而只跟踪键和值之间的关联关系。
遍历字典中的所有键 keys()
keys()返回的字典中所有的键
favorite_languages = {'jen': 'python','sarah': 'c','edward': 'ruby','phil': 'python',}
for name in favorite_languages.keys():print(name)
输出结果:
jen
sarah
edward
phil
也可以不使用keys方法,直接遍历字典,默认遍历的就是所有的键
favorite_languages = {'jen': 'python','sarah': 'c','edward': 'ruby','phil': 'python',}
for name in favorite_languages:print(name)
输出结果同上,不变
应用:调查一些人,用一个字典存储每个人最爱的编程语言,然后再用一个列遍存储你的朋友,对于受调查的人中,若有你的朋友,就打印一句话“Hi,xxx. I see your favorite language is xxx”
这个问题有两种写法:
1、遍历所有的键,若遇到你朋友,就打印
2、遍历所有的朋友,若遇到在字典的键中的朋友,就打印
favorite_languages = {'jen': 'python','sarah': 'c','edward': 'ruby','phil': 'python',}
my_friends=['phil','juil']
#遍历所有键
for name in favorite_languages:if name in my_friends:print( 'Hi,'+name+'. I see your favorite language is '+favorite_languages[name].title())
输出结果:
Hi,phil. I see your favorite language is Python
favorite_languages = {'jen': 'python','sarah': 'c','edward': 'ruby','phil': 'python',}
my_friends=['phil','juil']
#遍历朋友 看是否在字典里
for name in my_friends:if name in favorite_languages.keys():print( 'Hi,'+name+'. I see your favorite language is '+favorite_languages[name].title())
两种方法都能完成题目要求。
遍历字典中的所有值 values()
方法values(),它返回一个值列表,而不包含任何键。用法与keys()相同
favorite_languages = {'jen': 'python','sarah': 'c','edward': 'ruby','phil': 'python',}
for name in sorted(favorite_languages.values()):print(name.title())
3、输出时排序和去重
排序
字典总是明确地记录键和值之间的关联关系,但获取字典的元素时,获取顺序是不可预测的。这不是问题,因为通常你想要的只是获取与键相关联的正确的值。要以特定的顺序返回元素,一种办法是在for循环中对返回的键进行排序。为此,可使用函数sorted()来获得按特定顺序排列的键列表的副本:
注意:这里使用的是sorted(),前面我们学过,sorted()只是临时排序,不改变原有顺序
favorite_languages = {'jen': 'python','sarah': 'c','edward': 'ruby','phil': 'python',}
for name in sorted(favorite_languages.keys()):print(name.title())
输出结果:
Edward
Jen
Phil
Sarah
去重
前面介绍的遍历方法,都没有去除重复的元素
通过对包含重复元素的列表我们可以调用set(),Python会找出列表中独一无二的元素,并使用这些元素来创建一个集合
favorite_languages = {'jen': 'python','sarah': 'c','edward': 'ruby','phil': 'python',}
for name in set(favorite_languages.values()):print(name.title())
输出结果:
Python
C
Ruby
4、嵌套
有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。你可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典。
在列表中存储字典
car1={'color':'red','price':'500'}
car2={'color':'blue','price':'1000'}
car3={'color':'black','price':'1100'}
#创建一个列表 将三个字典都放进去
cars=[car1,car2,car3]
for num in cars:print(num)
输出结果:
{‘color’: ‘red’, ‘price’: ‘500’}
{‘color’: ‘blue’, ‘price’: ‘1000’}
{‘color’: ‘black’, ‘price’: ‘1100’}
为列遍添加十个汽车,输出前五个
cars=[] #空列表
for num in range(1,11):car={'color':'red','price':'500'}cars.append(car)#输出前五个
for num in range(0,5):print(cars[num])print('...')
输出结果:
{‘color’: ‘red’, ‘price’: ‘500’}
{‘color’: ‘red’, ‘price’: ‘500’}
{‘color’: ‘red’, ‘price’: ‘500’}
{‘color’: ‘red’, ‘price’: ‘500’}
{‘color’: ‘red’, ‘price’: ‘500’}
…
在字典中存储列表
一个人可能喜欢多个语言,打印每个人喜欢的语言,注意喜欢一个语言和喜欢多个的打印的话不一样哦
#字典里面存列表
a = {'jen': ['python', 'ruby'],'sarah': ['c'],'edward': ['ruby', 'go'],'phil': ['python', 'haskell'],}
for name,language in a.items():if len(language)>1:print(name.title()+"'s favorite languages are: ")for num in language:print(num)else:print(name.title()+"'s favorite language is: "+language[0])
在字典中存字典
一个字典用来存储所有用户的信息,里面每个用户的信息都是一个字典,要求打印所有用户信息
users={'sushan':{'num':'001','password':'123',},'sarah':{'num':'002','password':'123',},'juil':{'num':'003','password':'123',},
}
for name,info in users.items():print(name.title()+':')for one,two in info.items():print(one+'='+two)
输出结果;
Sushan:
num=001
password=123
Sarah:
num=002
password=123
Juil:
num=003
password=123
python学习(二)----字典相关推荐
- Python学习.第六天.字典
Python学习.第六天.字典 前言 一.什么是字典? 二.字典的原理 三.字典的创建与删除 四.字典的查询操作 五.字典元素的增.删.改操作 1.key的判断: 2.字典元素的删除 3.字典元素的新 ...
- Python学习(五)字典
字典 1.一个简单的字典 现在想存储一个人的基本信息,比如姓名,年龄等信息,应该怎样存储呢?下面是一个简单的字典,存储了一个人的相关信息. people_0 = {"name": ...
- SIGIA_4P python学习 列表 字典 集合 面对对象编程 闭包 装饰器 函数式编程 作用域 异常处理
SIGIA_4P python学习 列表 字典 集合 面对对象编程 闭包 装饰器 函数式编程 作用域 异常处理 本文连接 简介 SIGIA_4P 网址 a. 课程OKR Objectives and ...
- python学习(二) ElementTree解析、读写、创建xml文件
python学习(二) 读写xml文件 1.xml格式 将其存储为sample.xml Tag:使用<>包围的部分 Element:被Tag包围的部分,例如22中的22 Attrib ...
- Python学习二:词典基础详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...
- Python学习:字典(dictionary)
Python学习:字典(dictionary) 异常处理小技巧 异常 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行.一般情况下,在Python无法正常处理程序时就会发生一个 ...
- python学习(字典、用户输入和while循环)
前言:上次学习到了if语句,这次接着进行学习. 字典 字典能够准确地为各种真实物体建模,且能够将相关信息关联起来. 使用字典 字典是一系列的键--值对,一个建对应一个值,值可以为数字.字符串等 在Py ...
- Python学习6 字典基础知识和常用函数
字典概念 字典是 Python 提供的一种常用的数据结构,它用于存放具有映射关系的数据.为了保存具有映射关系的数据,Python 提供了字典,字典相当于保存了两组数据,其中一组数据是关键数据,被称为 ...
- python学习—伍—字典
目录 零.字典基础 简单字典举例 字典是什么 访问字典中的值 添加键值对 创建空字典 修改字典中的值 删除键值对 由类似对象组成的字典 使用 get() 来访问值 壹.遍历字典 遍历所有键值对 遍历字 ...
- python学习——二维码生成和识别
二维码知识 在介绍二维码原理之前,先说下条形码 .条形码我们都见过,就是超市收银员结账的时候扫的那个东西.它是一种"一维码",竖直方向,条码是均匀的,信息只能在水平方向上存储,并且 ...
最新文章
- 为什么 IPv6 难以取代 IPv4
- 网络营销十技之六:联署计划营销
- Hadoop集群datanode磁盘不均衡的解决方案
- 致毕业生:那些年我们错过的“BAT”
- [BZOJ] 1025 [SCOI2009]游戏
- 【Siddhi】Siddhi实时计算核心流程分析
- spring 数据库 链接db2_实例讲解使用Spring通过JPA连接到Db2
- Teamcenter 开发中的一些问题
- (四)pscc学习笔记
- python生成序列_python如何生成随机序列?
- OpenFOAM大涡模拟湍流模型之Smagorinsky模型代码详解
- 彭启宗的dsp技术学习笔记
- 合同法律风险管理 被骗者刑事风险
- 神器啊!轻松用 Python 写个 APP!
- 初出茅庐——利用Python的Turtle库绘制玫瑰花
- vivado使用笔记(1)--防止信号被综合优化dont touch
- ubuntu服务器安装可视化桌面(Gnome)
- 网络通过mac定位机器_如何设置Mac以充当网络时间机器驱动器
- 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,求该数
- 绕圈圈(python)