Python入门(七) dict

Python中的dict也称作关联数组或者是哈希表,由键与值成对组成。

1. dict的创建:用{}括起来,键与值之间用:分割,每一个键值对之间用,分割

dict1 = {‘name‘:‘billy‘, ‘age‘:28}
print(dict1)
>>> {‘age‘: 28, ‘name‘: ‘billy‘}

注意: 键必须独一无二,而且必须是不可变,如字符串、数字与tuple。

值可以取任意类型,可以随意修改。

2. 访问dict中的元素:通过键来访问

print(dict1[‘name‘]
>>> billy

print(dict1[‘age‘])
>>> 28

但是如果访问的键不存在,则会引发异常

print(dict1[‘sex‘])
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    print(dict1[‘sex‘])
KeyError: ‘sex‘

要避免这个问题,我们可以用get方法来判断

value = dict1.get(‘sex‘) #此时value = None
if value:
    print(‘the value of sex exist‘)
else:
    print(‘the value of sex does not exist‘)

>>> the value of sex does not exist

遍历整个dict

#method 1
for k in dict1:
    print(k, dict1[k])
>>>
age 28
name billy

#method 2
for (k,v) in dict1.items():
    print(k, v)
>>> 
age 28
name billy

#method 3
for k in dict1.keys():
    print(k, dict1[k])
>>>
age 28
name billy

3. 增加/删除元素

#增加元素
dict1[‘sex‘] = ‘male‘
print(dict1)
>>> {‘sex‘: ‘male‘, ‘age‘: 28, ‘name‘: ‘billy‘}

#删除元素
del dict1[‘sex‘]
print(dict1)
>>> {‘age‘: 28, ‘name‘: ‘billy‘}

#如果要删除元素的键不存在,则引发异常
del dict1[‘sex‘]
Traceback (most recent call last):
  File "<pyshell#42>", line 1, in <module>
    del dict1[‘sex‘]
KeyError: ‘sex‘

#这个时候可以用到上面提到的get方法来判断键是否存在,如果存在再执行删除操作!

修改元素的值

dict1[‘age‘] = 25
print(dict1)
>>> {‘age‘: 25, ‘name‘: ‘billy‘}

4. dict其他常用方法:

1)copy() : 复制dict中的所有元素

dict2 = dict1.copy()
print(dict2)
>>> {‘name‘: ‘billy‘, ‘age‘: 25}

2)clear() : 清空dict中的所有元素

dict2.clear()
print(dict2)
>>> {}

3) keys() : 以列表方式返回dict中的所有键

for k in dict1.keys():
    print(k)
>>> 
age
name

4) values() : 以列表方式返回dict中的所有值

for v in dict1.values():
    print(v)
>>> 
25
billy

5) len() : 获取dict中元素的个数

print(len(dict1))
>>> 2

dict在实际的开发中是非常有用的,比如我们在编写http的服务程序时,可以把http的请求头中的每个字段存储在dict中,使用起来也非常方便。

时间: 2024-08-07 15:06:32

Python入门(七) dict的相关文章

python入门七(迭代)【9-3 python之迭代dict的value和key】

9-3 python之迭代dict的value和key 我们了解了如何迭代 dict 的key和value,那么,在一个 for 循环中,能否同时迭代 key和value?答案是肯定的. 首先,我们看看 dict 对象的 items() 方法返回的值: >>> d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } >>> print d.items() [('Lisa', 85), ('Adam', 95), ('Bart', 59)]

python入门(七)

python数据结构 一.数据结构概述 数据组织在一起的结构叫做数据结构. python中的数据结构:列表,元组,字典,队列,栈,树等等. python内置数据结构:列表.元组等. python扩展数据结构:栈,队列等. 数据结构式静态的,算法是动态的. 数据结构示例: 1 #coding=utf-8 2 ''' 3 Created on 2016??4??20?? 4 5 @author: Administrator 6 ''' 7 #python内置数据结构,元组.列表.字典 8 #将三个物

python入门七 对象和类

示例 构造 实例变量 实例方法 可变和不可变对象参数 私有 原文地址:https://www.cnblogs.com/jing-yu/p/9109145.html

Python爬虫入门七之正则表达式

在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. 正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我

转 Python爬虫入门七之正则表达式

静觅 » Python爬虫入门七之正则表达式 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑. 正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我们想要从返回的页面内容提取出我们想要的内容就易如反掌了. 正则表达式的大致匹配过程是:1.依次拿出表达式和文本中的字符比较,2.如果每一个

python入门(12)dict

python入门(12)dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list: names = ['Michael', 'Bob', 'Tracy'] scores = [95, 75, 85] 给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,li

python入门简介

Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承最新的TIOBE排行榜,Python赶超PHP占据第五!!! 由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众多领域.目前业内几乎所

python 入门之路总结

Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第五!!! 由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众

python入门以及接口自动化实践

一.Python入门必备基础语法# 标识符:python中我们自己命名的都是标识符# 项目名 包名 模块名# 变量名 函数名 类名# 1:字母 下划线 数字组成 命名的时候不能以数字开头# 2:见名知意:不同的字母和数字之间用下划线隔开# 3:项目名 包名 模块名 变量名 函数名 都是小写字母,不同的字母之间用下划线隔开# 4:类名 首字母大写驼峰命名 StudentInfo HttpRequest# 5:不能以关键字作为标识符 int str float class def... # 行和缩进