龙空技术网

Python笔记12:20分钟快速理解-字典

程序员猫猫 112

前言:

眼前咱们对“python字典长度怎么看”大致比较珍视,你们都想要了解一些“python字典长度怎么看”的相关知识。那么小编同时在网上汇集了一些关于“python字典长度怎么看””的相关知识,希望大家能喜欢,各位老铁们一起来学习一下吧!

主要内容:小目标:掌握字典相关知识点主要内容:

理解字典;

字典遍历;

字典常用方法;

如果看完这篇文章,你还是弄不明白字典; 你来找我,我保证不打你,我给你发100的大红包。

1.字典基础1.1 神马是字典?字典是Python中唯一映射性数据结构,{key:value},且key是唯一的字典是一种无序的数据结构结构如下:

{k1:v1,k2:v2,....kn:vn}
1.2 字典定义
d1 = {'a':97, 'b':98}d2 = {'name':'sun','age':10}print(d1)print(d2)

结果:

{'a': 97, 'b': 98}{'name': 'sun', 'age': 10}
1.3 字典访问使用key访问元组
d = {1: 2, 3: 4}print(d)#key:1,对应的值print('d[1]:',d[1])

结果:

{1: 2, 3: 4}d[1]: 2
1.4 字段修改使用key修改或者增加元素
d = {1: 2, 3: 4}d[1]=10print(d)d['5'] = 'five'print(d)

结果:

{1: 10, 3: 4}{1: 10, 3: 4, '5': 'five'}
1.5 字典实质:字典结构:不是k->v,而是:hash(k)->v理解:先将key进行hash处理,生成一个字符串ID,然后这个ID对应v注意点:只有不可变数据结构才可以hash,例如:数字,元组,字符串,列表不可以。 例如:
d1 = {[1]:1}

错误:TypeError: unhashable type: 'list'

1.6 字典中key必须是唯一的

示例:

d = {1:1,1:'one'}print(d)d1 = {1:'one',1:1}print(d1)

结果,最后一个有效:

{1: 'one'}{1: 1}
1.7 dict创建字典

dict函数:

dict():创建空字典dict(mapping):创建字典

#dict方法,每个列表中元素为可迭代对象,每个对象只有两个元素,#注意:第一个元素必须可以hashd1 = dict([['name','sun'],['score',90]])print(d1)#列表每个元素为元组,元组只有两个元素d3 = dict([(1,2),(3,4)])print(d3)#列表每个元素为字符串,字符串只能有两个字符d2 = dict(['12','34'])print(d2)#元组每个元素为列表,列表只能有两个元素d4 = dict((['name','li'],['score',91]))print(d4)

结果:

{'name': 'sun', 'score': 90}{1: 2, 3: 4}{'1': '2', '3': '4'}{'name': 'li', 'score': 91}
2 字典相关操作:2.1 常用函数len(obj, /):返回字典长度sum(iterable, start=0, /):对字典所有value求和,value必须支持加法操作且是一种类型对象max(iterable, *[, default=obj, key=func]):获取字典value中最大值in:key in d,判断key是否在d中,存在返回True,否则返回False

示例:

d = dict([(1,2),(3,4)])print('len(d):',len(d))print('sum(d):', sum(d))print('max(d):', max(d))

结果:

len(d): 2sum(d): 4max(d): 3
2.2 字典遍历
d = dict([(1,2),(3,4)])#获取字典所有keyfor key in d:    print(key)#遍历字典:for key in d:    print(key,d[key])
3. 字典相关方法3.1 fromkeysdict.fromkeys(iterable, value=None, /):根据序列创建字典,每个字典值为value 示例:
keys = 'abcd'#字典value默认为Noned = dict.fromkeys(keys)print(d)#字典value默认为-1d = dict.fromkeys(keys,-1)print(d)

结果:

{'a': None, 'b': None, 'c': None, 'd': None}{'a': -1, 'b': -1, 'c': -1, 'd': -1}
3.2 获取字典相关值

方法说明

方法说明

示例:

d = dict([('name','sun'), ('age',18)])#获取keys,keys为可迭代对象print(d.keys())#获取values,values为可迭代对象print(d.values())#获取每个itemprint(d.items())#遍历kvfor k,v in d.items():    print(f'{k}:{v}',end=',')

结果:

dict_keys(['name', 'age'])dict_values(['sun', 18])dict_items([('name', 'sun'), ('age', 18)])name:sun,age:18,
3.3 获取字典key对应的值一般方式:d[key],问题,如果key不在d中报错dict.get(key, default=None, /):获取key对应值,不存在返回default推荐使用dict.get方法获取key对应的值 示例:
d = dict([('name','sun'), ('age',18)])print('name:', d.get('name', 'unknow'),'sex:', d.get('sex', 'unknow'))

结果:name: sun sex: unknow

3.5:setdefault方法dict.setdefault(self, key, default=None, /)如果key存在,返回key对应的值,如果key不存在,字典中添加元素,key:defatult

示例:

d = {1: 2, 3: 4}print(d.setdefault(1,'one'))#d并没有改变print(d)#增加新的元素d.setdefault('one', 1)print(d)

结果:

2{1: 2, 3: 4}{1: 2, 3: 4, 'one': 1}
3.6 字典删除D.pop(k[,d]):返回并删除k对应的元素,如果k在dict中不存在且设置d,返回d,否则报异常D.popitem():返回一组k-v,并删除D.clear():清空字典

示例:

d = dict.fromkeys('1234', -1)print(d)print('pop(1):',d.pop('1'))#删除一组元素print(d.popitem())#清空字典d.clear()print(d)

结果:

{'1': -1, '2': -1, '3': -1, '4': -1}pop(1): -1('4', -1){}
3.7 字典更新D.update([E, ]**F),E为字典,F为可迭代对象(k,v)操作结果:for k in E: D[k] = E[k] 示例
d = dict.fromkeys('1234', -1)print(d)d1 = {'1':'one', '5':'five'}d.update(d1)print(d)

结果:

{'1': -1, '2': -1, '3': -1, '4': -1}{'1': 'one', '2': -1, '3': -1, '4': -1, '5': 'five'}

以上就是字典常用的操作; 理解重点:字典一种无序的映射性数据结构;

标签: #python字典长度怎么看