Python基础学习-6.字典(python字典用法)

网友投稿 457 2022-09-03


Python基础学习-6.字典(python字典用法)

6.字典

6.1字典的定义

字典:是python内置的数据结构之一,与列表一样是一个可变序列,以键值对的方式存储数据,字典是一个无序的序列,用{ }表示,冒号分割,每个键值对用逗号分割。根据key查找value所在的位置。

键必须唯一,值不必;值可以取任何数据类,但键必须是不可变,

语法:d={key1:value,key2:value...}

scores={'张三':99,'李四':67,'王五':89}

字典的特点:

1.字典中的所有元素都是key-value对,key不允许重复,value可以 2.字典元素无序 3.字典中的key必须是不可变对象 4.字典也可以根据需要动态伸缩 5.字典会浪费较多内存,使用空间换时间的数据结构

d={'name':'张一','name':'张二'} #key不可以重复 print(d) d={'name':'张一','nickname':'张一'} #value可以重复 print(d)

字典中的内置方法:

序号 函数 描述
1 dict.clear() 删除字典内所有元素
2 dict.copy() 返回一个字典的浅复制
3 dict.fromkeys() 创建一个新字典,以序列seq中的元素做字典的键,val为字典所有键的对应初始值
4 dict.get(key,default=None) 返回指定键的值
5 key in dict 键在字典就返回True
6 dict.items() 以列表返回一个视图对象
7 dict.keys() 返回一个视图对象
8 dict.drtdefault(key,default=None) 和get()类似
9 dict.update(dict2) 把字典dict2的键/值对更新到dict中
10 dict.values() 返回一个视图对象
11 pop(key,[default]) 删除字典给定key所对应的值,返回值为被删除的值
12 popitem() 返回并删除字典中的最后一对键和值

6.2字典的创建

常用方式:

1.花括号

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

2.使用内置函数dict()

#dict() student=dict(name='lini',age=20) print(student) ==========> {'name': 'lini', 'age': 20}

6.3字典的获取

获取字典中的元素:使用[]或者get()方法

[]取值:[]如果字典中共不存在指定的key,则报keyError错

get()取值:如果字典中不存在指定key,则返回None,可以通过参数设置默认的value,以便指定的key不存在时返回

eg1:

#[]取值 tinydict={'Name':'Lini','Age':20,'Class':'First'} print("tinydict['Name']:",tinydict['Name']) print("tinydict['Age']:",tinydict['Age']) #get()取值 print(tinydict.get('Name')) print(tinydict.get('Age')) #print("tinydict['abc']:",tinydict['Ailce']) #不存在KeyError: 'Ailce' #print(tinydict.get('math')) #会提示None =====================================> tinydict['Name']: Lini tinydict['Age']: 20 Lini 20

6.4字典的常用操作

key的判断:

in:指定key在字典中存在返回True

not in :指定key在字典中共不存在返回True

字典元素的删除:del

字典元素的新增:scores

scores={'张三':99,'小四':89,'王五':65} print('张三' in scores) print('张三' not in scores) #删除键值对 del scores['张三'] #scores.clear() #清空字典 print(scores) #新增元素 scores['苏六']=78 print(scores) #修改元素 scores['苏六']=100 print(scores) =======================> True False {'小四': 89, '王五': 65} {'小四': 89, '王五': 65, '苏六': 78} {'小四': 89, '王五': 65, '苏六': 100}

获取字典视图的三种方法:

keys():获取字典中所有key

values():获取字典中所有value

items():获取字典中所有key:value对

scores={'张三':99,'小四':89,'王五':65} print('-------获取所有的key--------------') keys=scores.keys() print(keys) print(type(keys)) print(list(keys)) #将所有key组成的视图转换成列表 print('-------获取所有的value--------------') values=scores.values() print(values) print(type(values)) print(list(values)) print('-------获取所有的key-value对--------------') items=scores.items() print(items) print(list(items)) #转换之后的列表元素由元组组成 ==============================================> -------获取所有的key-------------- dict_keys(['张三', '小四', '王五']) ['张三', '小四', '王五'] -------获取所有的value-------------- dict_values([99, 89, 65]) [99, 89, 65] -------获取所有的key-value对-------------- dict_items([('张三', 99), ('小四', 89), ('王五', 65)]) [('张三', 99), ('小四', 89), ('王五', 65)]

字典元素的遍历

scores={'张四':69,'小五':90,'陈六':89} #字典元素的遍历 for item in scores: print(item,scores[item],scores.get(item)) ==============================》 张四 69 69 小五 90 90 陈六 89 89

字典生成式

内置函数zip():用于将可迭代的对象作为参数,并将对象中对应的元素打包成一个元组,然后返回又这些元组组成的列表

items=['red','green','blue'] sizes=[96,89,80,100,130] d={item.upper():sizes for item,sizes in zip(items,sizes)} #upper把字母变成大写 print(d) ==================》 {'RED': 96, 'GREEN': 89, 'BLUE': 80}

6.5总结

字典的创建:使用{}花括号,内置函数dict(),字典生成式

常用操作:

1.获取value:字典名[key],字典名.get(key)

2.删除key-value对,del字典名[key]

3.修改/新增,字典名[key]=value

4.in /not in


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

上一篇:Python基础学习-7.元组(python元组常用的五种方法)
下一篇:springboot2.x引入feign踩的坑及解决
相关文章

 发表评论

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