赞
踩
目录
字典:
Python内置的数据结构之一,与列表一样是一个可变序列
以键值对的方式存储数据,字典是一个无序的序列
字典的实现原理:
字典的实现原理类似于生活中的查字典,查字典是根据部首的首部或者拼音进行查找,而Python中的字典是根据key查找value所在的位置。
字典的创建:
通过score( )进行创建
通过内置函数dict()进行创建
示例:
- # 字典创建,第一种方式
- print('---------score()------------')
- score = {'张三': 89, '李四': 78, '王五': 90}
- print(score)
- print(type(score))
- # 字典创建,第二种方式
- print('----------dict()------------')
- student = dict(name='张三', age=14)
- print(student)
- print(type(student))
运行结果:
示例:
- d = {'name': '张三', 'name': '李四'} # 该字典中的key重复
- print(d)
- c = {'name': '张三', 'nickname': '李四'} # 该字典中的key不重复
- print(c)
运行结果:
字典元素的获取通常有两种方式:
示例:
- score = {'张三': 89, '李四': 78, '王五': 90}
- print('--------第一种获取元素值的方法,[]----------')
- print(score['张三'])
- # print(score['小明']) # 此时会报错,该元素不存在
- print('---------第二种获取元素的方法,get()--------')
- print(score.get('李四'))
- print(score.get('小明')) # 查找该元素
- print(score.get('小明', 99)) # 不存在给元素时,输出默认值
运行结果:
用 in 或not in判断元素是否在字典中
示例:
- scores = {'张三': 89, '李四': 78, '王五': 90}
- print('----------判断-----------')
- print('张三' in scores)
- print('张三' not in scores)
运行结果:
用for in进行字典元素的遍历
示例:
- scores = {'张三': 89, '李四': 78, '王五': 90, '小明': 43}
- for item in scores: # 字典中键的遍历
- print(item)
- for item in scores: # 字典元素中值的遍历,先获取值,然后进行值的遍历
- print(scores[item])
- for item in scores: # 字典中键值对的遍历
- print(item, scores.get(item))
运行结果:
语法结构:
字典名[键]=值
示例:
- scores = {'张三': 89, '李四': 78, '王五': 90}
- print('----------增加-----------')
- scores['小明'] = 39 # 可以增加单个键值对
- print(scores)
运行结果:
语法结构:
删除:
del 字典名[键]
清除:
字典名.clear()
示例:
- scores = {'张三': 89, '李四': 78, '王五': 90}
- print('-----------删除----------')
- del scores['李四']
- print(scores)
- print('-----------清除----------')
- scores.clear()
- print(scores)
运行结果:
语法结构:
字典名[键] = 值
示例:
- scores = {'张三': 89, '李四': 78, '王五': 90, '小明':36}
- print('-----------修改----------') # 可以对指定的元素进行修改
- scores['小明'] = 42
- print(scores)
运行结果:
示例:
- scores = {'张三': 89, '李四': 78, '王五': 90, '小明': 43}
- print('----------keys()----------')
- keys = scores.keys()
- print(keys)
- print(type(keys))
- print(list(keys)) # 将其转换为列表
- print('-----------values()-------')
- values = scores.values()
- print(values)
- print(type(values))
- print(list(values))
- print('------------items()--------')
- items = scores.items()
- print(items)
- print(type(items))
- print(list(items)) # 转换之后的列表元素是由元组组成的
运行结果:
字典生成式即生成字典的公式
使用内置函数zip( )
示例:
- # 三种情况
- # 第一种:
- items = ['Fruit', 'Books', 'Others']
- prices = [12, 13, 14]
- d = {item: price for item, price in zip(items, prices)}
- print(d)
- # 第二种
- c = {item.upper(): price for item, price in zip(items, prices)} # 利用upper()函数将items中的键变为大写
- print(c)
- # 第三种:当两个列表中元素的数量不相等时,选择最小的进行压缩匹配对应生成
- items = ['Fruit', 'Books', 'Others']
- prices = [13, 14, 15, 16, 18, 19]
- a = {item: price for item, price in zip(items, prices)}
- print(a)
运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。