python 字典Dict

编程入门 行业动态 更新时间:2024-10-08 13:37:47

python <a href=https://www.elefans.com/category/jswz/34/1770269.html style=字典Dict"/>

python 字典Dict

一种序列类型,使用键-值(key-value)存储,具有极快的查找速度。

目录

key的特性

创建字典

元素的访问

Get获取

修改

是否存在key

删除

删除单个

删除全部

遍历

遍历key与值

只遍历值

遍历key,value方法2

结合enumerate遍历

和list比较

总结


key的特性

1.字典中的key必须唯一

2.key必须是不可变对象

3.字符串、整数等都是不可变的,可以作为key

4.list是可变的,不能作为key

注意:字典是无序的,存储先后顺序不等于最终字典顺序。

创建字典

dict1 = {'hanmei': 85, 'lilei': 80}

元素的访问

获取:字典名[key]

例:

print(dict1['hanmei']) # 85
print(dict1['lilei'])  # 80

当没有的时候,如果这时去获取,就会报错。

print(dict1['zhangsan'])

如下:

Get获取

使用.get方式获取,可设置默认值在获取不到时返回。

代码如下:

res = dict1.get('zhangsan')
if res == None:print('没有')
else:print('有')

效果:

没有

修改

因为一个key对应一个value,所以再次对同一个key的value进行赋值,

就会修改原有key的value值。

代码如下:

dict1['zhangsan'] = 99
dict1['lilei'] = 88
print(dict1) # {'hanmei': 85, 'lilei': 88, 'zhangsan': 99}

是否存在key

使用in来判断相应key是否存在字典中。

代码如下:

dict2 = {'hanmei': 85, 'lilei': 80, 'zhangsan': 99, 'lisi': 88}
print('zhangsan' in dict2) # True

删除

删除单个

删除可使用.pop(key)方式删除相应key-value

代码如下:

# 韩梅转学了
dict1.pop('hanmei')
print(dict1)

效果:

{'hanmei': 85, 'lilei': 88, 'zhangsan': 99}
{'lilei': 88, 'zhangsan': 99}

删除全部

使用.clear()方法,来删除字典所有的键值对。

代码如下:

dict2 = {'hanmei': 85, 'lilei': 80, 'zhangsan': 99, 'lisi': 88}
dict2.clear()
print(dict2) # {}

当删除所有键值对后,打印出来的就是空字典。

遍历

遍历key与值

dict2 = {'hanmei': 85, 'lilei': 80, 'zhangsan': 99, 'lisi': 88}
for key in dict2:print(key, dict2[key])

效果:

hanmei 85
lilei 80
zhangsan 99
lisi 88

只遍历值

使用.values()方式获取字典所有值,为一个列表类型。

代码如下:

print(dict2.values())for value in dict2.values():print(value)

效果:

dict_values([85, 80, 99, 88])
85
80
99
88

遍历key,value方法2

可通过字典的items()方法获取中的所有键值对,用来遍历。

代码如下:

for k, v in dict2.items():print(k, '=>', v)

效果:

hanmei => 85
lilei => 80
zhangsan => 99
lisi => 88

结合enumerate遍历

还有一种遍历key和value的方式。

for i, v in enumerate(dict2):print(i, '=>', v)

效果:

0 => hanmei
1 => lilei
2 => zhangsan
3 => lisi

和list比较

1.查找和插入的速度极快,不会随着key-value的增加而变慢。

2.需要占用大量的内存,内存浪费多。

总结

应用场景比较多,可以在复杂场景中使用,使用起来也比较灵活,类似与php的array数据类型。

更多推荐

python 字典Dict

本文发布于:2023-11-15 09:27:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1597420.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字典   python   Dict

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!