python的6种基本数据类型--字典

字典

字典的定义与特性

字典是Python语言中唯一的映射类型。
定义:{key1:value1,key2:value2}
  1、键与值用冒号":"分开;
  2、项与项用逗号","分开;

特性
  1.key:value结构
  2.key必须可hash、且必须为不可变数据类型、必须唯一(数字、字符串、元组)
  3.value可存放任意多个值、可修改、可以不唯一
  4.无序 

字典的创建与常见操作

字典的创建
 1 # a.直接用 {} 创建,key:value对应2 >>> skills = {"s1":"python","s2":"linux","s3":"html/css","s4":"JavaScript"}3 >>> skills4 {'s1': 'python', 's2': 'linux', 's3': 'html/css', 's4': 'JavaScript'}5 6 # b.用dict转换7 >>> skills_1 = dict(s1="python",s2="linux")8 >>> skills_19 {'s1': 'python', 's2': 'linux'}
10 >>> skills_1 = dict("s1"="python","s2"="linux")                   # 不能这样创建,本身有歧义,前后都是两个字符串
11 SyntaxError: keyword can't be an expression
12
13 # 将本身就是字典转换成dict
14 >>> skills_2 = dict({"s1":"python","s2":"linux"})
15 >>> skills_2
16 {'s1': 'python', 's2': 'linux'}
17
18 # 将形如key-value结构的转换为字典
19 >>> skills_3 = dict((["s1","python"],["s2","linux"]))
20 >>> skills_3
21 {'s1': 'python', 's2': 'linux'}
22 >>> skills_3 = dict([["s1","python"],["s2","linux"]])
23 >>> skills_3
24 {'s1': 'python', 's2': 'linux'}
25 >>> skills_3 = dict([("s1","python"),("s2","linux")])
26 >>> skills_3
27 {'s1': 'python', 's2': 'linux'}
28
29 # key 为元组的字典
30 >>> skills_3 = dict([[(1,2),"python"],[(21,21),"linux"]])
31 >>> skills_3
32 {(1, 2): 'python', (21, 21): 'linux'}
33
34
35 给多个键赋相同的值
36 >>> dic = {}.fromkeys(['s1','s2'],['python','linux'])
37 >>> dic
38 {'s1': ['python', 'linux'], 's2': ['python', 'linux']}
39 dic1 = {}.fromkeys(['s1','s2'],['python'],['linux'])        #最多两个变量,多了报错
40 Traceback (most recent call last):                          # 第二个变量是为共用的,当为可变类型时,可以修改添加,修改,
41   File "<pyshell#71>", line 1, in <module>
42     dic1 = {}.fromkeys(['s1','s2'],['python'],['linux'])
43 TypeError: fromkeys expected at most 2 arguments, got 3
44 >>> dic['s1'].append(1)
45 >>> dic
46 {'s1': ['python', 'linux', 1], 's2': ['python', 'linux', 1]}
47 >>> dic['s1'].remove('python')
48 >>> dic
49 {'s1': ['linux', 1, 1], 's2': ['linux', 1, 1]}

字典的常见操作

 1 键、值、键值对2 dic.keys()       返回一个包含字典所有KEY的列表;3 dic.values()     返回一个包含字典所有value的列表;4 dic.items()      返回一个包含所有(键,值)元祖的列表;5 6 >>> skills7 {'s1': 'python', 's2': 'linux', 's3': 'html/css', 's4': 'JavaScript'}8 >>> skills.keys9 <built-in method keys of dict object at 0x00000209A130DCF0>
10 >>> skills.keys()
11 dict_keys(['s1', 's2', 's3', 's4'])
12 >>> skills.values()
13 dict_values(['python', 'linux', 'html/css', 'JavaScript'])
14 >>> skills.items()
15 dict_items([('s1', 'python'), ('s2', 'linux'), ('s3', 'html/css'), ('s4', 'JavaScript')])
16
17 新增
18 dic['new_key'] = 'new_value'
19 dic.setdefault(key,None)    如果字典中不存在Key键,由 dic[key] = default 为它赋值,这里defalut=None,实际创建需要填value
20
21 删除
22 dic.pop(key[,default]) 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
23 dic.clear() 删除字典中的所有项或元素;
24 >>> skills.pop('s4')
25 'JavaScript'
26 >>> skills
27 {'s1': 'python', 's2': 'linux', 's3': 'docker'}
28 >>> skills
29 {}
30
31 修改
32 dic['key'] = 'new_values'    如果key在字典中存在,'new_value'将会替代原来的value值,不存在则创建
33 dic.update(dic2)         将字典dic2的键值对添加到字典dic中
34
35 查看
36 dic['key']        返回字典中key对应的值,若key不存在字典中,则报错;
37 dict.get(key,default = None)        返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)
38
39
40 循环(3)
41 a.  for i in dic.keys()    等同于 for i in dic
42 >>> for k in skills.keys():print(k)
43 s1
44 s2
45 s3
46 s4
47 >>> for k in skills:print(k)
48 s1
49 s2
50 s3
51 s4
52
53 b.  for k,v in dic.items()
54
55 >>> for k,v in skills.items():print(k,v)
56 s1 python
57 s2 linux
58 s3 docker
59 s4 JavaScript
60 c.
61 >>> for k,v in enumerate(skills):print(k,v)
62
63 0 s1
64 1 s2
65 2 s3
66 3 s4
67 >>> for k,v,j in enumerate(skills):print(k,v,j)
68
69 Traceback (most recent call last):
70   File "<pyshell#48>", line 1, in <module>
71     for k,v,j in enumerate(skills):print(k,v,j)
72 ValueError: not enough values to unpack (expected 3, got 2)
73
74
75 长度
76 len(dic)

python的6种基本数据类型--字典相关推荐

  1. python的六种基本数据类型_python的6种基本数据类型--字典

    原博文 2018-04-29 19:55 − python的6种基本数据类型--字典 字典 字典的定义与特性 字典是Python语言中唯一的映射类型. 定义:{key1:value1,key2:val ...

  2. python的8种标准数据类型有哪些_Python的八种数据类型

    八种数据类型分别是: number(数字).string(字符串).Boolean(布尔值).None(空值) list(列表).tuple(元组).dict(字典).set(集合) 1.number ...

  3. Python中6种基本数据类型

    基本数据类型包括: 不可变数据:Number(数字);String(字符串);Tuple(元组) 可变数据:List(列表);Set(集合);Dictionary(字典) 有序序列:String,Tu ...

  4. python的6种基本数据类型--集合

    特征 1.确定性(元素必须可hash) 2.互异性(去重) 3.无序性(集合中的元素没有顺序,先后之分) >>> s = {1,1,1,2,2,3,4,5,6,7} # 创建 > ...

  5. 类型全部为string_python小讲堂丨学了这么久的,这6种基本数据类型你真的理解了吗...

    哈喽,大家好,欢迎来到python小讲堂,间歇性的努力,会导致持续性的一事无成,即使今天是除夕,我们也不能懈怠啊,今天我给大家带来的是关于python的6种基本数据类型的深入讲解,话不多说让我们进入今 ...

  6. 13.Python基础—列表、元组、字典、字符串(2)

    主要内容 列表 元组 字典 字符串 公共方法 三. 字典 3.1 字典的定义 dictionary(字典) 是 除列表以外 Python 之中 最灵活 的数据类型 字典同样可以用来 存储多个数据 通常 ...

  7. 【Python面试】 说说Python中有几种数据类型?​

    往期面试题: 谈谈对 Python 和其他语言的区别? 说说 Python 解释器种类以及特点? 说说4种常用编码的区别? 说说Python面向对象三大特性? 废话不多说,开始今天的题目: 问:说说 ...

  8. python包括几种数据类型_简单谈谈Python中的几种常见的数据类型

    计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数 ...

  9. python三种基本数据类型有哪些_python中有哪些基本数据类型

    python的基本数据类型有哪些?下面一一给大家介绍: 1.数字 ---> int类 当然对于数字,Python的数字类型有int整型.long长整型.float浮点数.complex复数.以及 ...

最新文章

  1. android jar 包 意见反馈功能,android重点jar包详解.docx
  2. 原创 | 基于AI的智能急性颅内出血类型检测
  3. unity发布webgl 触摸控制和鼠标控制冲突问题解决
  4. Caused by: java.lang.ClassNotFoundException: Cannot find class: User
  5. 浅谈数学中的化归原则
  6. OpenShift 4 - DevSecOps (4) - 实现一个 CICD Pipeline,并用 RHACS 发现安全隐患
  7. vShield App设计指南[上]
  8. NLP学习—9.Resent网络详解
  9. linux __setup
  10. 东方通TongWeb启动springboot报错
  11. JVM MAT使用分析详解
  12. 桌面图标有蓝底怎么去掉?
  13. 阿里全国脱贫攻坚先进-万祥军:谋定中国农民丰收节交易会
  14. Real-Time Rendering 4th Edition 实时渲染第四版 第五章 着色基础(Shading Basics)
  15. Scrm营销如何自动化打标签
  16. 实现手机扫描二维码页面登录,类似web微信-第三篇,手机客户端
  17. JBE、JNBE、JA、JL指令详解(从原理上)
  18. Balsamiq新的感觉
  19. FlashBuilder精选插件
  20. Linux操作系统(详解及配置操作)

热门文章

  1. $.ajax 发送请求,JavaScript之Ajax-2 Ajax(使用Ajax发送get请求、使用Ajax发送post请求)
  2. 西门子逻辑运算指令_西门子S7-300PLC逻辑运算指令
  3. java 数组 参数 ppt,Java自学课件-数组.ppt
  4. 计算机应用基础电大答案2015,2015电大形考计算机应用基础_Windows7操作系统_客观题(答案).doc...
  5. qt git linux 安装,git – 如何在Ubuntu上安装QtWebEngine
  6. 三十三、数据仓库的概述
  7. Pandas数据挖掘与分析时的常用方法
  8. 天津大学张梅山老师要招NLP方向的研究生啦!
  9. python字典默认输出键还是值_说说在 Python 字典中如何在读取不存在的键时得到一个默认值...
  10. python字典赋值方法_python如何给字典的键对应的值为字典项的字典赋值