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值的匹配,在被处理文件中每次读取一行进行处理后查找是否在字 ...
随机推荐
- Greenplum 查看连接与锁信息数据字典
查看系统中会话/连接/SQL与锁情况 1.查看当前活动的客户端连接数 SELECT count(*) FROM pg_stat_activity WHERE NOT pid=pg_backend_p ...
- 057_统计 Linux 进程相关数量信息
#!/bin/bashrunning=0sleeping=0stoped=0zombie=0 #在 proc 目录下所有以数字开始的都是当前计算机正在运行的进程的进程 PID#每个 PID 编号的目录 ...
- elment-ui的validate
https://blog.csdn.net/qq469234155/article/details/84034816 validate()时elment-ui封装好的用于对整个表单进行验证valida ...
- [HNOI2004]L语言 字典树 记忆化搜索
[HNOI2004]L语言 字典树 记忆化搜索 给出\(n\)个字符串作为字典,询问\(m\)个字符串,求每个字符串最远能匹配(字典中的字符串)到的位置 容易想到使用字典树维护字典,然后又发现不能每步 ...
- 爬虫(四):BeautifulSoup库的使用
一:beautifulsoup简介 beautifulsoup是一个非常强大的工具,爬虫利器. beautifulSoup “美味的汤,绿色的浓汤” 一个灵活又方便的网页解析库,处理高效,支持多种解析 ...
- 【原创】go语言学习(十七)接口应用实战--日志库
目前 日志库需求分析 日志库接口设计 文件日志库开发 Console日志开发 日志使用以及测试 日志库需求分析 1.日志库需求分析 A. 程序运行是个黑盒B. 而日志是程序运行的外在表现C. 通过日志 ...
- python 最小二乘 leastsq 函数实现 法线式 解决与x轴垂直问题
当使用y=kx+b时,与x轴垂直的直线无法计算.因此使用法线式ysin(theta)+xcos(theta) = dist.貌似这么用有点复杂了,直接使用ax+by=1不知道能不能计算,未测试. # ...
- Apache日志详解
在渗透测试的工作中,WEB网站的日志是非常重要的,今天总结了一些关于调配Apache日志的一些东西. 0x00 Apache日志文件名称及路径介绍 我们安装好Apache后,Apache的配置文件(h ...
- java实例化对象的过程
总结以上内容,可以得到对象初始化过程: 1. 如果存在继承关系,就先父类后子类: 2 .如果在类内有静态变量和静态块,就先静态后非静态,最后才是构造函数: 3 .继承关系中,必须要父类初始化完成 ...
- cross socket和msgpack的数据序列和还原
cross socket和msgpack的数据序列和还原 procedure TForm1.Button1Click(Sender: TObject); begin var pack: TSimple ...