栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

5 字典

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

5 字典

什么是字典 字典定义

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

以键值对的形式存储数据,字典是一个无序的序列

字典示意图

注:位置是由hash函数加工的来的

字典实现原理

其原理和查字典的过程相似,python中的字典是根据key查找value所在的位置

字典的创建

使用花括号去创建

scores = {'张三': 100, '李四': 98, '王五': 45}
print(scores)#{'张三': 100, '李四': 98, '王五': 45}
print(type(scores))#

使用内置函数dict()

student = dict(name='jack')
print(student)#{'name': 'jack'}
字典常用的操作 元素获取

key的判断
  • in
  • not in
'张三' in scores	#存在返回True
'张三' not in scores	#不存在返回True
元素的删除
del scores['张三']

#clear()会清空字典
scores.clear()
元素的增加
scores['陈留']=98
元素的修改
scores['陈留']=100
获取字典视图

scores = {'张三': 100, '李四': 98, '王五': 45}
----------使用keys()获取字典中所有的key----------
keys = scores.keys()
print(keys)     #dict_keys(['张三', '李四', '王五'])
print(type(keys))   #
print(list(keys))   #['张三', '李四', '王五']

----------使用values()获取字典中所有的value----------
values = scores.values()
print(values)       #dict_values([100, 98, 45])
print(type(values)) #
print(list(values)) #[100, 98, 45]

----------使用items()获取字典中所有的key,value对----------
items = scores.items()
print(items)        #dict_items([('张三', 100), ('李四', 98), ('王五', 45)])
print(type(items))  #
'''list()转换后是由元组构成的数列'''
print(list(items))  #[('张三', 100), ('李四', 98), ('王五', 45)]
字典的遍历
scores = {'张三': 100, '李四': 98, '王五': 45}
for item in scores:
    print(item, scores[item], scores.get(item))
    #张三 100 100
    #李四 98 98
    #王五 45 45
字典的特点
  • 字典中的所有元素都是一个key-value对, key不允许重复, value可以重复
  • 字典中的元素是无序的
  • 字典中的key必须是不可变对象
  • 字典也可以根据需要动态地伸缩
  • 字典会浪费较大的内存,是一种使用空间换时间的数据结构
字典生成式

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

items = ['Fruits', 'Books', 'Others']
prices = [98, 76, 85]
print(type(zip(items, prices))) #
for item, price in zip(items, prices):
    print(item, price)
'''
Fruits 98
Books 76
Others 85
'''

items = ['Fruits', 'Books', 'Others']
prices = [98, 76, 85]

d = {fruit.upper(): price for fruit, price in zip(items, prices)}
print(d)#{'FRUITS': 98, 'BOOKS': 76, 'OTHERS': 85}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/339771.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号