【Python】字典~深入篇
2024-09-03 11:46:27
字典的定义
字典是一系列键值对,字典用放在{}一系列键值对表示
info = {'first_name':'YueShang','last_name':'QIN','age':'25','city':'KunMing'}
字典增、删、改、查
增加新元素
指定字典名,用方括号括起来的键和相关的值
info['sex']='Man'
修改元素
指定字典名,用方括号括起来的键以及该键相关联的新值
info['sex']='Woman'
查询
指定字典名和放在括号中的键
print(info['sex'])
在实际使用过程中,可能一个字典包含成千上万的键值对,那么需要使用遍历才能完全访问键值
遍历所有的键值对items()
for key,value in info.items():
print("\nkey:" + key)
print("\nvalue:" + value)
遍历所有键
for key in info.keys():
print(key)
遍历所有值
for value in info.values():
print(value)
注意:在遍历的时候,如果需要对遍历的键进行排序,那么使用sorted()即可。值也一样
set()方法的使用:set()方法可以对元素去重复
set()案例
letter = {'1':'A','2':'B','3':'C','4':'A'}
for i in set(letter.values()):
print(i)
打印结果为:C A B
删除
使用del语句删除相应的键值对即可
del info['sex']
删除的键值对永远消失了
嵌套
有时候,需要将一系列字典存储在列表中,或将列表存储在字典中,这称为嵌套。
在列表中存储字典
现在有三个国家的运动员,用一个列表来存储各个国家运动员的信息
America_Player = {'name':'Tom','age':24}
China_Player = {'name':'zhangsan','age':27}
Japan_Player = {'name':'Jinshang','age':25} players = [America_Player,China_Player,Japan_Player] for palyer in players:
print(palyer)
在字典中嵌套列表
现在有2个人,分别有自己喜欢的水果列表,我们需要把这些信息全部存储起来,那么使用字典,其中元素为列表即可。
favorite_fruits = {
'zhangsan':['apple','pear'],
'lisi':['orange','apple']
}
for name,fruits in favorite_fruits.items():
print("\n"+name.title()+"'s favorite fruits are:")
for fruit in fruits:
print("\n"+fruit.title())
在字典中嵌套字典
以下是2个网站,分别对应不同的用户名,把字典存储到字典中即可满足这个需求
users = {
'website1':{
'name':'zhangsan',
'password':'123'
},
'website2': {
'name': 'lisi',
'password': '456'
}
} for Website,LoginInfo in users.items():
print("\nWebsite:"+Website)
print("\tUsername:"+LoginInfo['name'])
print("\tPassword:" + LoginInfo['password'])
最新文章
- C语言 · 前缀表达式
- ViewController生命周期
- Spark之集群搭建
- Spring XML配置文件示例(二)——web.xml
- 2015年九月八日---js学习总结
- Region的预分区
- 在SQL Server 2012中新建用户
- Educational Codeforces Round 4 A. The Text Splitting 水题
- 【九度OJ】题目1434贪心算法
- if语句写在while语句外面效率更高
- netty 实现socket服务端编写
- [IOS]UIWebView 请求网络页面或者加载本地资源页面
- 【第一篇】Python基础
- PM过程能力成熟度3级
- 设计、定义并实现Complex类
- P1256 显示图像(广搜)
- 纯CSS画的基本图形(圆形、三角形、多边形、爱心、八卦等)
- 使用git遇到的一些问题
- node微信公众号开发---自动回复
- 第二阶段——个人工作总结DAY09
热门文章
- [luogu1707] 刷题比赛 [矩阵快速幂]
- 论文笔记:《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks DeepLearning 》
- 【07】 vue 之 Vue-router
- HTML 对空行和空格进行控制
- idea下载多个插件项目启动不了解决方案
- WML标签速查手册 wap标签
- .NET泛型编程 性能提升工具 List<;T>;
- c# automapper 使用
- Android新特性之CardView的简单使用
- Gym 101064 D Black Hills golden jewels 【二分套二分/给定一个序列,从序列中任意取两个数形成一个和,两个数不可相同,要求求出第k小的组合】