自学计划 - python 小白基础教程 - 第八课:字典

目录

简介
第一课:python 的介绍
第二课:变量与操作符
第三课:字符串和数字
第四课:条件执行语句
第五课:列表与元组
第六课:循环语句
第七课:集合
第八课:字典
第九课:函数
第十课:面向对象
第十一课:文件的操作
第十二课:学生管理系统

字典的概念

字典是一些键值对的集合,通过键我们可以直接寻找到对应的值,键在字典中是唯一的,值则可以允许重复。

可以将我们自己想象成一个字典,我们身上的各个属性都有对应的键值。创建字典使用 dict 方法或 {} (大括号)的形式。

man = {
    'name': '小明',
    'height': 1.8,
    'weight': 70,
}
print(man)
{'name': '小明', 'height': 1.8, 'weight': 70}

在字典里面,我们的 键(key)是不能重复的,然而 值(value)是可以重复的。

man = {
    'name': '小明',
    'height': 1.8,
    'weight': 70,
    'name': '小红',
    'num': 70,

}
print(man)
{'name': '小红', 'height': 1.8, 'weight': 70, 'num': 70}

基本操作

man = {
    'name': '小明',
    'height': 1.8,
    'weight': 70,
}

print(man['name'])  # 通过键名索引值

man['name'] = '柯南'  # 修改对应的值

del man['weight']  # 删除对应的键

man.update({'address': '东京'})  # 添加元素

print(man)
小明
{'name': '柯南', 'height': 1.8, 'address': '东京'}

如果要判断一个字典是否包含某个键,可以直接用 in 操作符。

......
print('字典是否包含 name:', 'name' in man)
print('字典是否包含 address:', 'address' in man)
字典是否包含 name: True
字典是否包含 address: False

字典的内置方法 keysvalues 能分别返回所拥有的的列表。

......
print('字典的所有键:', man.keys())
print('字典的所有值:', man.values())
字典的所有键: dict_keys(['name', 'height', 'weight', 'num'])
字典的所有值: dict_values(['小明', 1.8, 70, 70])

常用方法

clear 用于清空一个字典。

man = {
    'name': '小明',
    'height': 1.8,
    'weight': 70,
}
man.clear()
print(man)
{}

get 方法通过键来获取一个值,第二个参数表示当键不存在时返回一个默认值。

man = {
    'name': '小明',
    'height': 1.8,
    'weight': 70,
}
print(man.get('name'))
print(man.get('age'))
print(man.get('age', 20))
小明
None
20

pop 根据键弹出一个键值对,并返回其中的值。

man = {
    'name': '小明',
    'height': 1.8,
    'weight': 70,
}
print(man.pop('name'))
print(man)
小明
{'height': 1.8, 'weight': 70}

练习

1.存在字典 nums = {'a': 4, 'b': 1, 'c': 17, 'd': -4}, 求出最大对应的

解析

1.存在字典 nums = {'a': 4, 'b': 1, 'c': 17, 'd': -4}, 求出最大对应的

......
max_key = None
for key in nums.keys():
    if max_key is None or nums[key] > nums[max_key]:
        max_key = key

print('最大值对应的键:', max_key)
最大值对应的键: c
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容