python 字典dict - python基础入门(15)
前面的课程讲解了字符串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.注意字典/字符串/列表/元组之间的相互转换
猜你喜欢:
转载请注明:猿说Python » python 字典dict

python 字典dict - python基础入门(15)的更多相关文章
- python字典dict的增、删、改、查操作
## python字典dict的增.删.改.查操作dict = {'age': 18, 'name': 'jin', 'sex': 'male', }#增# dict['heigh'] = 185 # ...
- Python 字典 dict() 函数
描述 Python 字典 dict() 函数用于创建一个新的字典,用法与 Pyhon 字典 update() 方法相似. 语法 dict() 函数函数语法: dict(key/value) 参数说明: ...
- 'dict_values' object does not support indexing, Python字典dict中由value查key
Python字典dict中由value查key 众所周知,字典dict最大的好处就是查找或插入的速度极快,并且不想列表list一样,随着key的增加越来越复杂.但是dict需要占用较大的内存空间,换句 ...
- Python 字典dict 集合set
字典dict Python内置字典,通过key-value进行存储,字典是无序的,拓展hash names = ['Michael', 'Bob', 'Tracy'] scores = [95, 75 ...
- Python字典(dict)使用技巧
字典dict是Python中使用频率非常高的数据结构,关于它的使用,也有许多的小技巧,掌握这些小技巧会让你高效地的使用dict,也会让你的代码更简洁. 1.默认值 假设name_for_userid存 ...
- python 字典 dict 该注意的一些操作
在用python处理dict 的时候,有几个该注意的地方,这里跟大家提一下: 1)操作dict 时,尽量少产生新的列表对象.比如: 遍历dict的时候,如果用 dic = {"a" ...
- Python字典 (dict)
作者博文地址:http://www.cnblogs.com/spiritman/ 字典是Python语言中唯一的映射类型.字典对象是可变的,它是一个容器类型,支持异构.任意嵌套. 创建字典 语法:{k ...
- python 字典(dict)按键和值排序
python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行: 1 下面的是按照value的值从大到小的顺序来排序 ...
- python 字典dict和列表list的读取速度问题, range合并
python 字典和列表的读取速度问题 最近在进行基因组数据处理的时候,需要读取较大数据(2.7G)存入字典中,然后对被处理数据进行字典key值的匹配,在被处理文件中每次读取一行进行处理后查找是否在字 ...
随机推荐
- PostgreSQL 数据目录结构
根目录介绍 data ├── base # use to store database file(SELECT oid, datname FROM pg_database;) ├── global # ...
- java+上传+文件夹
我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用. 首先我们需要了解的是上传文件三要素: 1.表单提交方式:post (get方式提交有 ...
- 超过20g的文件+上传
demo下载地址:jsp-Eclipse,jsp-MyEclipse,PHP,ASP.NET 教程:ASP.NET,JSP,PHP 一. 功能性需求与非功能性需求 要求操作便利,一次选择多个文件和文件 ...
- Linux操作系统常用命令合集——第六篇-软件包操作(2个命令)
一.前言介绍 软件包即程序包 程序包管理 关键词:rpm程序包管理.YUM仓库管理.源码编译安装 程序包管理: 将编译好的应用程序的各组成文件打包一个或几个程序包文件,从而方便快捷地实现程序包的安装. ...
- PHP 多维数组 根据字段排序
这个太常用了,记录下.方便后面用 /** * @param $arr [要排序的数组] * @param $condition [要排序的条件, for array('id'=>SORT_DES ...
- 《MySQL数据分析实战》八句箴言前四句解析
大家好,我是jacky朱元禄,很高兴继续跟大家学习<MySQL数据分析实战>,从本节课程开始,jacky将从SQL语句入手,给大家解析八句箴言: 不管三七二十一,先把数据show来看: 数 ...
- a=”hello”和b=”世界”编码成bytes类型
a="hello" c=a.encode(encoding='utf-8') a = b'hello' b="世界" b = b.encode(encoding ...
- Invalid JDK version in profile 'doclint-java8-disable': Unbounded range: [1.8, for project com.google.code.gson:gson 解决办法
利用maven打包的时候遇到这个问题 在git上发现一个解决方案 问题解决
- harukaの收藏夹
#include<map> 比较好的图论作图网站 heap Sth About EXCRT OI-Wiki 数学 树形dp入门 开开心心学背包 一起复习qwq 模板库(非原创) LaTex ...
- Result window is too large, from + size must be less than or equal to [10000]
使用sql插件执行如下语句的时候报错http://10.127.0.1:9200/_sql?sql=select * from test limit 1000000 错误信息:{"error ...