dict_python
- 字典(dicy)是一种可变的数据结构,它是由键(key)和对应的值(value)组成的无序集合。
- 字典中的键必须是唯一的,而值可以是任意类型的对象。可以使用大括号 {} 来创建一个字典,并使用冒号 : 来分隔键和值。
1.字典的实现原理
- 字典的实现原理与查字典类似,查字典是先根据部首或拼音查找对应的页码,python中的字典是根据key查找value所在的位置。
2.字典的特点
- 字典中的所有元素都是一个 key-value 对,key不允许重复,value可以重复
- 字典中的元素是无序的
- 字典中的key必须是不可变对象
- 字典可以根据需要动态地伸缩
- 字典会浪费较大的内存,是一种使用空间换时间的数据结构
3.字典的创建
scores = {'张三': 100, '李四': 98, '王五': 45}
student = dict(name = 'Jack', age = 20);
d = {}
d2 = dict()
4.字典的常用操作
- []如果字典中不存在指定的key,抛出KeyError异常
- get()方法取值,如果字典中不存在指定的key,并不会抛出KeyError;
而是返回None,可以通过参数设置默认的value,以便指定的key不存在时返回
scores = {'张三': 100, '李四': 98, '王五': 45}
print(scores['张三'])
print(scores.get('张三'))
print(scores['美羊羊'])
print(scores.get('美羊羊'))
print(scores.get('沸羊羊', 99))
- in: 存在返回True
- not in: 不存在返回False
scores = {'张三': 100, '李四': 98, '王五': 45}
print('张三' in scores)
print('张三' not in scores)
scores = {'张三': 100, '李四': 98, '王五': 45}
scores['陈六'] = 89
print(scores)
del scores['张三']
print(scores)
scores['陈六'] = 100
print(scores)
scores.clear()
print(scores)
方法 | 含义 |
---|
keys() | 获取字典中所有key |
values() | 获取字典中所有value |
items() | 获取字典中所有key,value对 |
scores = {'张三': 100, '李四': 98, '王五': 45}
keys = scores.keys()
print(keys)
print(type(keys))
print(list(keys))
values = scores.values()
print(values)
print(type(values))
print(list(values))
item = scores.items()
print(item)
print(list(item))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
scores = {'张三': 100, '李四': 98, '王五': 45}
for item in scores:
print(item, scores[item], scores.get(item))
5.字典生成式
items = ['Fruits', 'Books', 'Others']
prices = [96, 78, 85, 100, 120]
d = {item.upper(): price for item, price in zip(items, prices) }
print(d)