栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python入门学习系列(八)之字典常用功能及函数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python入门学习系列(八)之字典常用功能及函数

        本节我们来学习一下Python里很像哈希表(我学过的)一种数据结构——字典。

        字典用键对应值,称作键值对记录数据,初始化时利用:进行键和值的分割。因为利用键值对进行数据的记录,因而字典的所有操作都要基于键对值进行操作,其实键就类似于C/CPP数组里的下标。字典和列表、元组的创建方式也不一样,其用大括号{}进行创建。

关键1:字典的创建

        字典可以通过大括号{}进行创建,也可以通过内建函数dict()创建,如下:、

#简单的字典实例
tinydict = {'name': 'runoob', 'likes': 123, 'url': 'www.runoob.com'}
#在这个字典中:键'name'对应值'runoob' 键line对应值123 键'url'对应值'www.runoob.com'
#因而访问字典里的值需要如Hash表一样通过键进行访问而非通过顺序下标索引
print("tinydict['name']:",tinydict['name'])
print("tinydict['likes']:",tinydict['likes'])
#总而言之,非常像C语言中的结构体

#使用大括号{}创建空字典
emptyDict = {}
# 打印字典
print(emptyDict)
# 查看字典的数量
print("Length:", len(emptyDict))
# 查看类型
print(type(emptyDict))

#使用内建函数dict创建字典
emptyDict = dict()
# 打印字典
print(emptyDict)
# 查看字典的数量
print("Length:",len(emptyDict))
# 查看类型
print(type(emptyDict))

关键2:字典的索引、修改和删除

        由于利用键值对记录数据,因而索引、修改和删除都是通过键进行操作的。

        字典增加元素可以直接新增一个新的键指向一个对应的值。

        其实修改的时候看成数组的下标索引变成了键就好了,删除同样是需要通过del语句和字典内置的clear()函数进行操作的。当然,删除整个字典的操作也是可以利用del语句的,如下:

#修改字典元素同样要通过键进行值的修改,键值对是一体的
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
#修改,通过键改变值
tinydict['Age'] = 8               # 更新 Age
print ("tinydict['Age']: ", tinydict['Age'])
#新增,新增键来新增值
tinydict['School'] = "菜鸟教程"  # 添加信息
print ("tinydict['School']: ", tinydict['School'])

#删除字典元素也是通过键进行删除,利用del语句或字典内置的clear()函数
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(tinydict)
#删除键
del tinydict['Name'] # 删除键 'Name'
print(tinydict)
#清空字典
tinydict.clear()
#删除整个字典
del tinydict         # 删除字典
#下面会引发一个异常,因为用执行 del 操作后字典不再存在
# print ("tinydict['Age']: ", tinydict['Age'])
# print ("tinydict['School']: ", tinydict['School'])

关键3: 键的特性

        由于字典通过键值对进行操作,因而键必须满足一定的条件,否则Python将会报错:

        1、不允许同一个键出现两次,如果有两次,用后一个,如下:

tinydict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
print ("tinydict['Name']: ", tinydict['Name'])

         2、键值不可变,所以可以用数字,字符串或者元组充当,用列表就不行,如下:

# tinydict = {['Name']: 'Runoob', 'Age': 7}
# print ("tinydict['Name']: ", tinydict[['Name']])
#上述会出错,因为使用了列表作键值,但下面用元组就可以
tinydict = {('Name',12): 'Runoob', 'Age': 7}
print ("tinydict('Name',12): ", tinydict[('Name',12)])

关键4: 字典内置的函数和方法

        可以查看代码块的最后部分的注释。

———————————————————————————————————————————

        基于菜鸟教程:Python3 字典 | 菜鸟教程 的代码如下,可直接查看运行结果:

#Python字典
#字典类似于Hash表,用键对应值,初始化时用:进行键和值的分割
#d = {key1 : value1, key2 : value2, key3 : value3 }

#简单的字典实例
tinydict = {'name': 'runoob', 'likes': 123, 'url': 'www.runoob.com'}
#在这个字典中:键'name'对应值'runoob' 键line对应值123 键'url'对应值'www.runoob.com'
#因而访问字典里的值需要如Hash表一样通过键进行访问而非通过顺序下标索引
print("tinydict['name']:",tinydict['name'])
print("tinydict['likes']:",tinydict['likes'])
#总而言之,非常像C语言中的结构体

#使用大括号{}创建空字典
emptyDict = {}
# 打印字典
print(emptyDict)
# 查看字典的数量
print("Length:", len(emptyDict))
# 查看类型
print(type(emptyDict))

#使用内建函数dict创建字典
emptyDict = dict()
# 打印字典
print(emptyDict)
# 查看字典的数量
print("Length:",len(emptyDict))
# 查看类型
print(type(emptyDict))

#修改字典元素同样要通过键进行值的修改,键值对是一体的
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
#修改,通过键改变值
tinydict['Age'] = 8               # 更新 Age
print ("tinydict['Age']: ", tinydict['Age'])
#新增,新增键来新增值
tinydict['School'] = "菜鸟教程"  # 添加信息
print ("tinydict['School']: ", tinydict['School'])

#删除字典元素也是通过键进行删除,利用del语句或字典内置的clear()函数
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(tinydict)
#删除键
del tinydict['Name'] # 删除键 'Name'
print(tinydict)
#清空字典
tinydict.clear()
#删除整个字典
del tinydict         # 删除字典
#下面会引发一个异常,因为用执行 del 操作后字典不再存在
# print ("tinydict['Age']: ", tinydict['Age'])
# print ("tinydict['School']: ", tinydict['School'])

#字典键的特性
#1不允许同一个键出现两次,如果有两次,用后一个
tinydict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
print ("tinydict['Name']: ", tinydict['Name'])
#2键值不可变,所以可以用数字,字符串或者元组充当,用列表就不行
# tinydict = {['Name']: 'Runoob', 'Age': 7}
# print ("tinydict['Name']: ", tinydict[['Name']])
#上述会出错,因为使用了列表作键值,但下面用元组就可以
tinydict = {('Name',12): 'Runoob', 'Age': 7}
print ("tinydict('Name',12): ", tinydict[('Name',12)])

#字典内置函数或方法
# 1	len(dict)
# 计算字典元素个数,即键的总数。	
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(len(tinydict))

# 2	str(dict)
# 输出字典,可以打印的字符串表示。	
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(str(tinydict))

# 3	type(variable)
# 返回输入的变量类型,如果变量是字典就返回字典类型。	
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
print(type(tinydict))

# 1	dict.clear()
# 删除字典内所有元素
# 2	dict.copy()
# 返回一个字典的浅复制
# 3	dict.fromkeys()
# 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
# 4	dict.get(key, default=None)
# 返回指定键的值,如果键不在字典中返回 default 设置的默认值
# 5	key in dict
# 如果键在字典dict里返回true,否则返回false
# 6	dict.items()
# 以列表返回一个视图对象
# 7	dict.keys()
# 返回一个视图对象
# 8	dict.setdefault(key, default=None)
# 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
# 9	dict.update(dict2)
# 把字典dict2的键/值对更新到dict里
# 10	dict.values()
# 返回一个视图对象
# 11	pop(key[,default])
# 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
# 12	popitem()
# 返回并删除字典中的最后一对键和值。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/853925.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号