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()
# 返回并删除字典中的最后一对键和值。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值