【Python 23】字典

【Python 23】字典,第1张

1. 什么是字典?

        (列表使用 [ ] 去定义的,字典使用 {} 定义的)

字典的存储需要经过哈希函数的计算,保存到内存中。

 空间换时间的数据结构,会浪费较多的内存空间。

2. 字典的实现原理

根据 key 查找 value 所在位置。

3. 字典的创建与删除

# 作   者:要努力,努力,再努力
# 开发日期:2022/4/21 13:39
# 字典的创建方式
scores = {'张三':100,'李四':98,'王五':45}
print(scores)
print(type(scores))

'''第二种. dict'''
student = dict(name='jack', age=20)
print(student)

'''空字典'''
d = {}
print(d)

4. 字典的查询 *** 作

# 作   者:要努力,努力,再努力
# 开发日期:2022/4/21 13:48
scores = {'张三':100,'李四':98,'王五':45}
'''1. 使用[]'''
print(scores['张三'])
# print(scores['成六'])  # key 不存在 KeyError: '成六'

'''2. get'''
print(scores.get('张三'))
print(scores.get('成六'))
print(scores.get('麻七',99))   # 查找指定的 key 不存在 时,输出的默认值

5. 字典元素的增、删、改、查 *** 作

# 作   者:要努力,努力,再努力
# 开发日期:2022/4/21 13:53
'''key的判断'''
scores = {'张三':100,'李四':98,'王五':45}
print('张三' in scores)
print('张三' not in scores)

del scores['张三']  # 删除指定键值对
scores.clear()  # 清空字典的元素
print(scores)
scores['陈六']=98  # 新增元素
print(scores)

scores['陈六'] = 100  # 修改元素
print(scores)


获取字典视图的方法:

keys()获取字典中所有keys
values()

获取字典中所有的value

items()获取字典中所有key.value对
# 作   者:要努力,努力,再努力
# 开发日期:2022/4/21 14:04
scores = {'张三': 100, '李四': 98, '王五': 45}

keys = scores.keys()
print(keys)
print(type(keys))
print(list(keys))  # 将所有的key组成的视图转成列表

values = scores.values()
print(values)
print(type(values))
print(list(values))

items = scores.items()
print(items)  # 元组
print(type(items))
print(list(items))  # 转换之后的列表元素由元组组成

for item in scores:
    print(item, scores[item], scores.get(item))  # 输出的是健

# 作   者:要努力,努力,再努力
# 开发日期:2022/4/21 14:25
d = {'name': '张三', 'name': '李四'}  # 键不允许重复,重复的话会直接覆盖
print(d)

d = {'name': '张三', 'nickname': '张三'}  # 值可以重复
print(d)

lst = [10, 20, 30]
lst.insert(1, 100)
print(lst)

6. 字典生成式

内置函数 zip() 打包成字典

# 作   者:要努力,努力,再努力
# 开发日期:2022/4/21 14:39
items = ['Fruits', 'Books', 'Others']
prices = [96, 78, 85, 52, 66]
d = {item.upper(): price for item, price in zip(items, prices)}
print(d)

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/717859.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-25
下一篇2022-04-25

发表评论

登录后才能评论

评论列表(0条)

    保存