Python课堂11——字典


前言

字典是Python中常用的数据结构之一,用于存储和操作复杂的数据。


一、字典是什么?

字典(dict/dictionary)是一种数据结构,用于存储键值对的集合。每个键对应一个值,可以通过键来访问对应的值。字典中的键和值是一一对应的关系,键是唯一的,而值可以是任意类型的数据。字典是一种无序的数据结构,可以根据键来进行快速的查找和访问。字典在Python中用花括号{}表示,键和值之间用冒号:隔,多个键值对之间用逗号,分隔。

格式:{”键名1“ : ”值”,”键名2” : 值,”键名3” : ”值}
{key1:value1,key2:value2}

代码演示:

dic = {'name': 'Abner', 'age': 21}
print(dic, type(dic))  # {'name': 'Abner', 'age': 21} <class 'dict'>

特点
1.符号为大括号
2.数据为键值对形式出现
3.各个键值对之间用逗号隔开
4.字典的key不能是列表、字典、集合等数据,key只能是不可变类型(字符串、数字、元祖)
5.字典的key具有唯一性 不能被重复,如果被重复,则后面的值会覆盖前面的值
6.字典是可变类型,支持增删改,但是字典是无序的,不存在索引概念

字典的作用:可以在数据顺序发生变化之后依然可以快速查找到数据,不支持下标操作。

二、字典的常见操作

1.字典的基本操作

1.1 改
字典[键名] = 值 键名存在就修改原有的,若不存在则新增一个新的键值对
代码如下(示例):

dic = {'name': 'Abner', 'age': 21}
dic['name'] = '小明'
dic['abc'] = '小明'
print(dic)  # {'name': '小明', 'age': 21, 'abc': '小明'}

1.2 增
1.2.1 字典[键名] = 值

代码演示:

dic = {'name': 'Abner', 'age': 21}
dic['hobby'] = ['python', 'music', 'read']
print(dic)  # {'name': 'Abner', 'age': 21, 'hobby': ['python', 'music', 'read']}

1.2.2 字典.update():添加键值对 需要一个参数,该参数是字典

代码演示:

my_dic = {}
my_dic.update({'a': 1, 'b': 2})  # 一次添加多个键值对
print(my_dic)  # {'a': 1, 'b': 2}

1.3 删
1.3.1 del 字典名[键名],删掉指定的键值对

代码演示:

dic = {'name': 'Abner', 'age': 21}
del dic['name']
# del dic['abc']  # 删除不存在报错,KeyError: 'abc'
print(dic)  # {'age': 21}

1.3.2 字典.pop(key):根据key删除键值对

代码演示:

dic = {'name': 'Abner', 'age': 21}
dic.pop('name')
print(dic)  # {'age': 21}

1.3.3 字典.clear()清除字典里面所有的键值对,返回一个空字典

代码演示:

dic = {'name': 'Abner', 'age': 21}
dic.clear()
print(dic)  # {}

1.4 查
1.4.1 字典名[键名] 键名key就相当于列表中的索引,通过key去找value
找不到报错
代码演示:

dic = {'name': 'Abner', 'age': 21}
print(dic['name'])  # Anber

1.4.2 字典名.get(键名)
`找不到返回None

dic = {'name': 'Abner', 'age': 21}
print(dic.get('abc'))  # 找不到返回一个None
# 应用
if dic.get('abc') == None:
    print('没找找到')

2.空字典

代码演示:

dict = {}
# 应用:可以向空字典添加任意元素

3.成员运算符(in ;not in)

代码演示:

dic = {'name': 'Abner', 'age': 21}
print('name' in dic)  # True

4.len()——计算字典的长度

代码演示:

dic = {1: 'a', 2: 'b'}
print(len(dic))

5.for循环遍历字典,字典是可迭代对象

代码演示:

dic = {'name': 'Abner', 'age': 21}
for key in dic:
    print(key, ':', end='')
    print(dic[key])  #通过key取value

6. 字典.keys返回字典里所有的key值

代码演示:

dic = {'name': 'Abner', 'age': 21}
print(dic.keys())  # dict_keys(['name', 'age'])
for key in dic.keys():
    print(key)  

7.字典.values()返回字典里面所有的value值

代码演示:.

dic = {'name': 'Abner', 'age': 21}
print(dic.values())  # dict_values(['Abner', 21])
for value in dic.values():
    print(value)

8.字典.items() 把字典里面所有的键值对进行返回

代码演示:

dic = {'name': 'Abner', 'age': 21}
print(dic.items())  # dict_items([('name', 'Abner'), ('age', 21)])

# 一个大列表里  包含了多个小元祖 每个元祖里有key,value
for t in dic.items():
    print(t[0], t[1])

for key, value in dic.items():
    print(key, value)
# 两个临时变量  针对dic.items返回列表里所有元祖

总结

善始者实繁,克终者盖寡。——《谏太宗十思疏》

开始能做得好的人很多,而能坚持下去的人却很少。

  • 53
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莘薪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值