字典(字典网)

网友投稿 315 2022-08-26


字典(字典网)

什么是字典

·   python内置的数据结构之一,与列表一样是一个可变序列

·   以键值对的方式存储数据,字典是一个无序的序列(存储数据以哈希表的方式存储

·   字典示意图

scores   =   {          '张三'  :   100  ,   '李四'    :  98      }

字典名    花括号        键  冒号 值 逗号

字典的实现原理

字典的实现原理与查字典类似,查字典实现根据部首或拼音查找相应的页码,Python中的字典是根据key查找value所在的位置。

字典的创建

1.使用花括号{}

print('-----------字典的创建----------------')print('-----1.使用花括号------')scores = {'张三' : 100 , '李四' : 98}print(scores)

2.使用内置函数dict()

print('-----2.使用dict()---------')scores = dict(name = 'jack' , age = 18)print(scores)print(type(scores))student = dict(name = 'lucy' , age = 15 )print(student)

3.空字典的创建

print('----3.空字典的创建-------')d = {}scores = dict()print(d)print(scores)

字典的常用操作

1.字典中元素的获取

1.使用中括号[],举例:scores['张三']

2.使用函数get(),  举例:scores.get('张三')

print('----字典元素的获取------')student = {'张三':24,'李四':22,'王五':19}print(student['张三'])print(student.get('李四'))

3.[]取值与使用get()取值的区别

(1)[]取值如果字典中不存在指定的key,抛出KeyError异常

(2)get()方法取值,如果字典中不存在指定的key,并不会抛出KeyError,而是返回None,可以通过参数设置默认的Value,以便指定的Key不存在时返回

student = {'张三':24,'李四':22,'王五':19}print(student['张三'])print(student.get('李四'))#print(student['刘六'])print(student.get('麻七'))print(student.get('老二',2))

2.key的判断

print('----key的判断----')'''in 存在返回True not in 不存在返回True'''teachers = {'liming' : 56 , 'wangkai' : 43}print('liming' in teachers)print('xiaohong' in teachers)print('lilei' not in teachers)print('wangkai' not in teachers )

3.字典元素的删除

print('----字典元素的删除----')scores = {'math' : 98 , 'english' : 94}print(scores)del scores['math'] #删除指定的key - value 对print(scores)

4.字典元素的新增

print('------字典元素的新增-------')scores = {'math' : 98 , 'english' : 94}print(scores)scores['chinese'] = 100print(scores)

5.获取字典视图的三个方法

1.keys()-获取字典的所有的key

2.values()-获取字典中所有value

3.item()-获取字典中所有key-value对

print('----获取字典视图------')scores = {'math' : 98 , 'english' : 94}print(scores)keys = scores.keys()print(keys)values = scores.values()print(values)items = scores.items()print(items)

6.字典元素的遍历

print('----字典元素的遍历-----')scores = {'math' : 98 , 'english' : 94}for item in scores: print(item)for item in scores: print(item,scores[item],scores.get(item))

字典的特点

1.字典中的元素都是一个key-value对,key不允许重复,value可以重复

2.字典中的元素是无序的

3.字典中的key值必须是不可变对象

4.字典也可以根据需要动态地伸缩

5.子弹会浪费较大的内存,是一种使用空间换时间的数据结构

scores = {'math' : 98 , 'math' : 94}print(scores)scores = {'math' : 98 , 'english' : 98}print(scores)

字典生成式

内置函数zip()

用于将可迭代的对象作为参数,将对象中对应的元素打包成一个元组,然后返回这些元组组成的列表

print('----字典生成式------')items = ['fruits','books','others']prices = [96,78,85]d = {item : price for item,price in zip(items,prices)}print(d)

值得注意的是,items中的值有可能比prices中的元素数量多,或者相反,不过在生成的过程中,只会以元素较少的一方为基准生成字典。

此外,可以采用item.upper():prince将字母大写


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于动态参数使用@PathVariable的解析
下一篇:Py内存管理与垃圾回收管理(垃圾回收机制方式及内存管理)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~