前面的课程讲解了字符串str/列表list/元组tuple,还有最后一种比较重要的数据类型也需要介绍介绍,那就是python字典,俗称:dict.

python中的字典可与字符串/列表/元组不同,因为字典dict需要由两部分组成,分别是key和value,简称:键值对,下面具体讲解一下关于字典的特点:

1.由一个或者多个键值对构成,键值对的类型可以不相同也可以相同;

2.字典中的键值对需要写在{}中括号内部,键值对中的key和value用:隔开,键值对与键值对之间用逗号隔开;

3.字典是一个无序的集合;

4.字典中key具有唯一性;

定义一个字典:

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com @File:python_dict.py
@Time:2019/9/27 20:45 @Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
""" dict1 = dict() # 定义一个空字典
print(dict1)
print(type(dict1)) # 输出字典类型 dict
print(len(dict1)) # 获取字典键值对数量 print("***"*20) # 小窍门:直接打印60 个 *
#字典可以有一个或者多个键值对构成,键值对与键值对之间使用逗号隔开
# "name" / "age" / "sing_gou" 是key
# "隔壁老王" / 42 / True 是value
dict2 = {"name":"隔壁老王", "age":42, "singe_dog":True}
print(dict2)
print(type(dict2)) # 输出字典类型 dict
print(len(dict2)) # 获取字典键值对数量 print("***"*20) # 小窍门:直接打印60 个 *
# 字典中出现了两个一样的key:"age",默认后面的value会覆盖前面的value
dict3 = {"name":"隔壁老王", "age":42, "singe_dog":True,"age":15}
print(dict3)

输出:

 
{}
<class 'dict'>
0
************************************************************
{'name': '隔壁老王', 'age': 42, 'singe_dog': True}
<class 'dict'>
3
************************************************************
{'name': '隔壁老王', 'age': 15, 'singe_dog': True}

注意:如果字典中出现相同的key值,只有最后一个key/value有效,前面相同的key/value会被覆盖.这就是字典dict所谓的唯一性.

在python开发过程中,对于字典使用最多的莫过于增删改查以及遍历,下面我们一一讲解:

一.字典dict增加数据

如果想要在字典中添加数据,直接赋值就可以,比较简单,跟上示例代码演示一波:

dict1 = dict() # 定义一个空字典
print(dict1) # 输出一个空的字典
dict1["name"] = "猿说python" # 添加键值对 "name":"猿说python" 到 dict1
dict1["url"] = "shuopython.com" # 添加键值对 "url":"shuopython.com" 到 dict1 print(len(dict1)) # 获取字典键值对数量
print(dict1) # 输出整个字典

输出结果:

{}
2
{'name': '猿说python', 'url': 'shuopython.com'}

二.字典dict删除数据

字典是无序的,每个键值对没有对应的索引值,这也是字典与字符串/列表/元祖的区别。删除字典中的数据,需要根据键值对中的key值来删除对应的键值对,删除使用 del 关键字,实例代码如下:

dict1 = {"name":"zhangsan","age":38,"sing_dog":True} # 定义一个字典
print(dict1) # 输出删除之前的字典 # 删除key等于"name"对应的键值对
del dict1["name"]
print(dict1) # 删除key等于"age"对应的键值对
del dict1["age"]
print(dict1) # 删除key等于"sing_dog"对应的键值对
del dict1["sing_dog"]
print(dict1)

输出结果:

 
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
{'age': 38, 'sing_dog': True}
{'sing_dog': True}
{}

三.字典dict修改数据

字典是无序的,每个键值对没有对应的索引值,这也是字典与字符串/列表/元祖的区别。修改字典中的键值对数据,操作和删除数据一样,直接根据键值对中的key值操作即可,实例代码如下:

dict1 = {"name":"zhangsan","age":38,"sing_dog":True} # 定义一个字典
print(dict1) # 输出字典 # 修改key等于"name"对应的value
dict1["name"] = "隔壁老王"
print(dict1) # 输出字典 # 修改key等于"age"对应的value
dict1["age"] = 18
print(dict1) # 输出字典 # 修改key等于"sing_dog"对应的value
dict1["sing_dog"] = False
print(dict1) # 输出字典

输出结果:

 
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
{'name': '隔壁老王', 'age': 38, 'sing_dog': True}
{'name': '隔壁老王', 'age': 18, 'sing_dog': True}
{'name': '隔壁老王', 'age': 18, 'sing_dog': False}

四.字典dict查询数据

字典是无序的,每个键值对没有对应的索引值,这也是字典与字符串/列表/元祖的区别。查询字典中的键值对数据,操作和删除数据/修改数据一样,直接根据键值对中的key值操作即可,实例代码如下:

dict1 = {"name":"zhangsan","age":38,"sing_dog":True} # 定义一个字典
print(dict1) # 输出字典 # 查询key等于"name"对应的value
print(dict1["name"]) # 查询key等于"age"对应的value
print(dict1["age"]) # 查询key等于"sing_dog"对应的value
print(dict1["sing_dog"])

输出结果:

{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
zhangsan
38
True

五.字典dict常用函数

1.把两个字典合并到一个字典,使用函数update()将一个字典添加到另外一个字典的末尾;

2.清空字典,使用函数clear()清空字典;

示例代码如下:

dict1 = {"name":"zhangsan","age":38} # 定义一个字典
print(dict1) # 输出字典
dict2 = {"sing_dog":True} # 定义一个字典
print(dict2) print("***"*20) # 小窍门:直接答应60个*
# update()函数:将一个字典添加到另外一个字典的末尾
dict1.update(dict2)
print(dict1) # 输出字典 print("***"*20) # 小窍门:直接答应60个*
# 情况字典dict1
dict1.clear()
print(dict1) # 空字典
# 情况字典dict2
dict2.clear()
print(dict2) # 空字典

输出效果:

{'name': 'zhangsan', 'age': 38}
{'sing_dog': True}
************************************************************
{'name': 'zhangsan', 'age': 38, 'sing_dog': True}
************************************************************
{}
{}

六.字典dict遍历

1.使用dict.items()方法遍历字典,该方法的返回值是一个元组,等价于遍历元组,示例代码如下:

dict1 = {"name":"zhangsan","age":38,"sing_dog":True,"height":"155cm"} # 定义一个字典
print(dict1) # 输出字典 print("***"*20) # 小窍门:直接答应60个*
# dict.items()方法,返回元组数据,类似遍历元组操作
for x in dict1.items():
print(x,type(x)) print("***" * 20) # 小窍门:直接答应60个*
# dict.items()方法经典写法,直接获取key/values
for x,y in dict1.items():
print(x,y)

输出结果:

{'name': 'zhangsan', 'age': 38, 'sing_dog': True, 'height': '155cm'}
************************************************************
('name', 'zhangsan') <class 'tuple'>
('age', 38) <class 'tuple'>
('sing_dog', True) <class 'tuple'>
('height', '155cm') <class 'tuple'>
************************************************************
name zhangsan
age 38
sing_dog True
height 155cm

2.根据字典中key或者value遍历字典,代码如下:

dict1 = {"name":"zhangsan","age":38,"sing_dog":True,"height":"155cm"} # 定义一个字典
print(dict1) # 输出字典 print("***"*20) # 小窍门:直接答应60个*
# 方法一:根据key值遍历
for key in dict1.keys():
print(key ,dict1[key]) # dict1[key] 等价键值对中key对应的value print("***"*20) # 小窍门:直接答应60个*
# 方法二:根据value值遍历
for value in dict1.values():
print(value )

输出结果:

{'name': 'zhangsan', 'age': 38, 'sing_dog': True, 'height': '155cm'}
************************************************************
name zhangsan
age 38
sing_dog True
height 155cm
************************************************************
zhangsan
38
True
155cm

七.重点总结

1.注意字典的特点

2.注意字典/字符串/列表/元组的区别

3.注意字典的遍历方式

4.注意字典/字符串/列表/元组之间的相互转换

猜你喜欢:

1.python字符串(str)

2.python列表(list)

3.python元组(tuple)

转载请注明:猿说Python » python 字典dict

技术交流、商务合作请直接联系博主
扫码或搜索:猿说python
猿说python
微信公众号 扫一扫关注

python 字典dict - python基础入门(15)的更多相关文章

  1. python字典dict的增、删、改、查操作

    ## python字典dict的增.删.改.查操作dict = {'age': 18, 'name': 'jin', 'sex': 'male', }#增# dict['heigh'] = 185 # ...

  2. Python 字典 dict() 函数

    描述 Python 字典 dict() 函数用于创建一个新的字典,用法与 Pyhon 字典 update() 方法相似. 语法 dict() 函数函数语法: dict(key/value) 参数说明: ...

  3. 'dict_values' object does not support indexing, Python字典dict中由value查key

    Python字典dict中由value查key 众所周知,字典dict最大的好处就是查找或插入的速度极快,并且不想列表list一样,随着key的增加越来越复杂.但是dict需要占用较大的内存空间,换句 ...

  4. Python 字典dict 集合set

    字典dict Python内置字典,通过key-value进行存储,字典是无序的,拓展hash names = ['Michael', 'Bob', 'Tracy'] scores = [95, 75 ...

  5. Python字典(dict)使用技巧

    字典dict是Python中使用频率非常高的数据结构,关于它的使用,也有许多的小技巧,掌握这些小技巧会让你高效地的使用dict,也会让你的代码更简洁. 1.默认值 假设name_for_userid存 ...

  6. python 字典 dict 该注意的一些操作

    在用python处理dict 的时候,有几个该注意的地方,这里跟大家提一下: 1)操作dict 时,尽量少产生新的列表对象.比如: 遍历dict的时候,如果用 dic = {"a" ...

  7. Python字典 (dict)

    作者博文地址:http://www.cnblogs.com/spiritman/ 字典是Python语言中唯一的映射类型.字典对象是可变的,它是一个容器类型,支持异构.任意嵌套. 创建字典 语法:{k ...

  8. python 字典(dict)按键和值排序

    python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行: 1 下面的是按照value的值从大到小的顺序来排序 ...

  9. python 字典dict和列表list的读取速度问题, range合并

    python 字典和列表的读取速度问题 最近在进行基因组数据处理的时候,需要读取较大数据(2.7G)存入字典中,然后对被处理数据进行字典key值的匹配,在被处理文件中每次读取一行进行处理后查找是否在字 ...

随机推荐

  1. snmp_trap/snmptt

    Zabbix Snmp Trap 配置 1. Zabbix Server 操作 1.1 Snmp Trap 安装配置 yum install -y net-snmp net-snmp-utils vi ...

  2. Educational Codeforces Round 69

    目录 Contest Info Solutions A. DIY Wooden Ladder B. Pillars C. Array Splitting D. Yet Another Subarray ...

  3. C语言中怎样定义能够保存16进制整数的变量

    可以通过int 或long int存储,16进制整数说到底还是整数,16进制只是一种记数方式.例如,int x=0x16;十六进制(hexadecimal)只是计算机中数据的一种表示方法,规则是“逢十 ...

  4. Java for循环的语法和执行顺序

      关于java的for循环想必大家非常熟悉,它是java常用的语句之一.for循环是最灵活也是最常用的循环结构,表达式一般如下: for(表达式1;表达式2;表达式4){ 表达式3; } 执行顺序: ...

  5. SQL按照顺序时间段统计

    借助master..spt_values表 按照时间(半小时)划分统计时间段: select ,dateInfo.dday) as time) StartTime, ,),dateInfo.dday) ...

  6. [转]Python3之max key参数学习记录

    Python3之max key参数学习记录 转自https://www.cnblogs.com/zhangwei22/p/9892422.html 今天用Python写脚本,想要实现这样的功能:对于给 ...

  7. git sub module

    https://github.com/ViRb3/de4dot-cex/blob/master/.gitmodules git submodule sync command - what is it ...

  8. Linux中工作目录切换命令

    1.pwd命令用于显示当前的工作目录 2.cd命令用于切换工作路径,格式为:cd [目录名称] 参数 作用 - 切换到上一次的 目录,如:cd - ~ 切换到”家目录“,如:cd ~ ~usernam ...

  9. Tosca new project Repository as MS SQL Server

    # 然后对应的服务器就能自己给创建对应的数据库

  10. SQL-W3School-函数:SQL COUNT() 函数

    ylbtech-SQL-W3School-函数:SQL COUNT() 函数 1.返回顶部 1. COUNT() 函数返回匹配指定条件的行数. SQL COUNT() 语法 SQL COUNT(col ...