一、字典介绍

字典和列表一样,也是存储多个数据的容器,只不过存储和读取的方式不同

字典的语法格式: 字典名 = {key1 : value1,key2:value2,key3:value3,……}

说明:

  • 列表中找某个元素时,是根据下标进行的
  • 字典中找某个元素时,是根据’key’
  • 列表使用[]表示,字典使用{},表示
  • key和value之间使用冒号而不是等号
  • 多个键值对之间使用逗号隔开
  • 字典中key要唯一,不能重复

二、字典的基本操作

1、根据key读取value的值

nameDic = {"a":"张三","b":"李四","c":"王五"}
name1 = nameDic["a"]
name2 = nameDic["b"]
print(name1)
print(name2)

运行结果为:张三、李四

2、修改元素的值

nameDic = {"a":"张三","b":"李四","c":"王五"}
nameDic["a"] = "侯七"
print(nameDic)

运行结果为:{'a': '侯七', 'b': '李四', 'c': '王五'}

3、增加元素

nameDic = {"a":"张三","b":"李四","c":"王五"}
nameDic["e"] = "侯七"
print(nameDic)

运行结果为:{'a': '张三', 'b': '李四', 'c': '王五', 'e': '侯七'}

说明:

  • 如果使用 变量名[‘键’] = 数据 时,这个“键”不存在,就会新增这个元素
  • 如果使用 变量名['键'] = 数据 时,这个“键”存在,就是修改元素的值

4、del 删除元素

nameDic = {"a":"张三","b":"李四","c":"王五"}
del nameDic["c"]
print(nameDic)

运行结果为:{'a': '张三', 'b': '李四'}

del 如果跟上具体的key的名字,就是删除这一对键值对,如果没有根据的key,而是只是跟字典名,意味着全部删除,删除之后就不可以在使用

5、clear( )

nameDic = {"a":"张三","b":"李四","c":"王五"}
print("清空前,%s"%nameDic)
nameDic.clear()
print("清空后,%s"%nameDic)

运行结果为:

清空前,{'a': '张三', 'b': '李四', 'c': '王五'}
清空后,{}

6、len() :测量字典中,键值对的个数

nameDic = {"a":"张三","b":"李四","c":"王五"}
num = len(nameDic)
print(num)

运行结果为:3

7、keys: 返回一个包含字典所有KEY的列表

nameDic = {"a":"张三","b":"李四","c":"王五"}
keysList = nameDic.keys()
print(keysList)

运行结果为:dict_keys(['a', 'b', 'c'])

8、values 返回一个包含字典所有value的列表

nameDic = {"a":"张三","b":"李四","c":"王五"}
valuesList = nameDic.values()
print(valuesList)

运行结果为:dict_values(['张三', '李四', '王五'])

9、items 返回一个包含所有(键,值)元组的列表

nameDic = {"a":"张三","b":"李四","c":"王五"}
nameItems = nameDic.items()
print(nameItems)

运行结果为:dict_items([('a', '张三'), ('b', '李四'), ('c', '王五')])

三、字典的遍历

1、遍历字典的key(键)

nameDic = {"a":"张三","b":"李四","c":"王五","d":"赵六"}
for key in nameDic.keys():print(key)

运行结果为:a,b,c,d

2、遍历字典的value(值)

nameDic = {"a":"张三","b":"李四","c":"王五","d":"赵六"}
for value in nameDic.values():print(value)

运行结果为:张三、李四、王五、赵六

3、遍历字典的项(元素)

nameDic = {"a":"张三","b":"李四","c":"王五","d":"赵六"}
for item in nameDic.items():print(item)

运行结果为:('a', '张三')、('b', '李四')、('c', '王五')、('d', '赵六')

4、遍历字典的key-value(键值对)

nameDic = {"a":"张三","b":"李四","c":"王五","d":"赵六"}
for key,value in nameDic.items():print("key=%s,value=%s"%(key,value))

运行结果为:

key=a,value=张三
key=b,value=李四
key=c,value=王五
key=d,value=赵六

转载于:https://www.cnblogs.com/Se7eN-HOU/p/10693745.html

python基础-字典(8)相关推荐

  1. python基础—字典

    阅读文本需要3分钟,不建议跳读 节目清单 字典是python中最重要的数据类型,字典由"键-值"对组成的集合,字典中的"值"通过"键"来引用 ...

  2. python基础-字典

    python中操作字典,字典可变 访问,取值 dict1 = {'Name':'xm','Age':18,'Class':'First'}print("dict1['Name']:" ...

  3. 4道Python基础字典练习题

    1.写代码,有如下字典,按照要求实现每一个功能,dic = {'k1':'v1','k2':'v2','k3':[11,22,33]} 请循环输出所有的 key dic = {'k1':'v1','k ...

  4. python基础——字典

    字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 d = {key1 : v ...

  5. 大学python教材实验七字典与集合答案_2018-08-28 day7 python基础 字典和集合(含作业)...

    1.字典(dict) 一.字典是容器类型(序列 ),以键值对作为元素.字典里面存的数据全是以键值对的形式出现的 b/键值对----> 键:值(key:value) dict1 = {'key1' ...

  6. Python基础----字典

    文章目录 字典定义 1.1 字典的创建fromkeys.copy 1.2 字典的元素的增加update.setdefault 1.3 字典元素的删除clear.pop.popitem.del 1.4 ...

  7. Python基础-字典(字典常用函数/操作/字典遍历)

    字典是Python中除列表外,最灵活的数据类型,使用键值对存储数据,其中键必须是唯一的,值可以是任意类型 字典类型格式 student = {'键名1': 值1, '键名2': 值2, ...} # ...

  8. python字典和集合对象可以进行索引操作_建议收藏丨纯知识点:Python基础—字典、集合操作大全...

    本文为纯知识点,预计需阅读二十分钟 数据结构基本上就是--它们是可以处理一些 数据 的 结构 .或者说,它们是用来存储一组相关数据的. 在Python中有四种内建的数据结构--列表.元组和字典,集合. ...

  9. python基础---字典的基本操作

    1.字典的定义 在Python中,字典是一系列键值对,每个键与每个值关联. 键必须是唯一的,值不一定. # 表示 dic = {"name":"妮妮",&quo ...

  10. Python基础——字典中由value查key的几点说明

    众所周知,字典dict最大的好处就是查找或插入的速度极快,并且不想列表list一样,随着key的增加越来越复杂.但是dict需要占用较大的内存空间,换句话说,字典dict是以空间换速度.详细请见如下示 ...

最新文章

  1. 251f与ips屏显示器对比_同样是240Hz高刷新率 有了VA屏你还会选择TN?
  2. SQL Server 2014 内存优化表(1)实现内存优化表
  3. 在res/xml中的文件
  4. ubuntu16.04无法连接WiFi搜索不到网络网卡驱动
  5. python open 追加
  6. CocoaPods管理iOS项目 2018年11月06日
  7. win7中计算机被改为了句号,WIN7中中文输入法快捷键无法修改的解决方法.doc
  8. 【大数据入门二——yarn和mapreduce】
  9. 原生JS与Jquery删除iframe并释放内存(IE)
  10. pycharm:There is not enough memory to perform the requested operation
  11. 网络中看不见的五大重要安全隐患
  12. 移动APP测试用例一览表(常规用例)
  13. 基于Jersey框架创建web项目
  14. 自动化测试用例设计方法
  15. github gitee 仓库大小限制 单个文件大小限制
  16. ems与nms_求教OMC、EMS、NMS的区别和不同?
  17. 基于aspnet+20ajax问卷调查系统的设计和实现_百度文库,基于ASP.NET的网络问卷调查系统的设计与实现...
  18. AutoSAR系列讲解(入门篇)5.2-描述文件
  19. 快速部署k8s单机版
  20. 如何看中兴70后程序员从公司跳楼

热门文章

  1. LeetCode 97交错字符串(动态规划)
  2. Spring自定义注解+redis实现接口限流
  3. ifix如何设画面大小_ifix5.1环境下的ifix服务器、客户端配置
  4. 快速排序算法图解分析
  5. android项目模块导入eclipse编译报错,android中studio导入eclipse项目报错怎么办
  6. java游戏一开始去山上打狐狸_。。。这才是Java的第一个程序------HelloWorld
  7. 计算机组成原理试卷五套,计算机组成原理(五套试题)
  8. CCNA学习笔记大全
  9. 基于消息队列 RocketMQ 的大型分布式应用上云较佳实践
  10. SpringCloud 应用在 Kubernetes 上的最佳实践 — 部署篇(开发部署)