Python之字典(dict)基础知识点


字典是python当中的一种数据类型,其结果跟之前学过的列表、元组有很大区别,字典内部是一个一对一映射的数据关系。

字典语法:dictionary = {key1:value1, key2:value2, ...}

  • key是字典中的键,value是对应的值
  • 字典必须用大括号{},key与对应的value用“:”连接,中间用“,”断开。
  • key必须是数值、字符串、元组三种类型,其特点就是不可变,key在字典中是唯一的
  • value可以是任何数据类型.

一、创建字典

1.1 基于dict函数创建

stu_dict = dict(name='Mary', age=20, gender='female')

1.2 基于{}创建

stu_dict = \
{
    
    
    'name': 'Mary',
    'age': '20',
    'gender': 'female'
}

1.3 基于空字典添加元素创建

stu_dict ={
    
    }
stu_dict['name'] = 'Mary'
stu_dict['age'] = 20
stu_dict['gender'] = 'female'

基于上述3种创建方法,我们用 print(stu_dict) 输出的结果都是:
在这里插入图片描述

二、访问字典

stu_dict = dict(name='Mary', age=20, gender='female')

print(stu_dict['name'])
print(stu_dict['age'])
print(stu_dict['gender'])

输出结果如下:
在这里插入图片描述

三、修改字典

修改元素:

stu_dict = dict(name='Mary', age=20, gender='female')
stu_dict['age'] = 18  # 修改元素

print(stu_dict)
输出>>: {
    
    'name': 'Mary', 'age': 18, 'gender': 'female'}

增加元素:

stu_dict['school'] = "DPS School" # 增加元素
print(stu_dict)

输出>>: {
    
    'name': 'Mary', 'age': 18, 'gender': 'female', 'school': 'DPS School'}

四、删除字典

stu_dict = dict(name='Mary', age=20, gender='female')

del stu_dict['name']  # 删除键是'Name'的条目
stu_dict.clear()  # 清空词典所有条目
del stu_dict  # 删除词典

五、字典的常用方法

5.1 dict.items()方法

dict.items()方法将字典中所有的项以列表方式返回,但是在返回的时候没有特定的顺序。

stu_dict = dict(name='Mary', age=20, gender='female')
print(stu_dict.items())

输出>>: dict_items([('name', 'Mary'), ('age', 20), ('gender', 'female')])

基于dict.items()方法我们可以进一步遍历key和value来访问字典:

for key, value in stu_dict.items():
    print(key, ':', value)

输出结果如下:
在这里插入图片描述

5.2 dict.get()方法

当get访问一个不存在的键时,不会报错而会得到None值,它适用在程序 中用户若输入的是我们没有准备的值时可以作出合理的反应。

print(stu_dict.get('name'))
输出>>: Mary
print(stu_dict.get('id'))
输出>>: None

5.3 dict.setdefault()方法

setdefault方法与get方法类似,可以获得给定键的值,除此之外它还能在字典中不含有给定键的情况下设定相应的键值。

(1)获取键的值

print(stu_dict.setdefault('name'))
输出>>: Mary

print(stu_dict.setdefault('id'))
输出>>: None

(2)设定键值

dict.setdefault()方法在设定键值时,具体分为以下几种情况:

  • 当键不存在时,setdefault方法返回设定值并且更新字典。
stu_dict.setdefault('id', '001')
print(stu_dict)
输出>>: {
    
    'name': 'Mary', 'age': 20, 'gender': 'female', 'id': '001'}
  • 当键存在时,返回其对应的值,但是不改变字典(注:update方法是会覆盖到旧的值)
stu_dict.setdefault('name', 'Alice')
print(stu_dict)
输出>>: {
    
    'name': 'Mary', 'age': 20, 'gender': 'female'}

可以看到,这里基于dict.setdefault()方法将 name 设置成 Alice。实际上并没有改变字典,stu_dict 字典中的 name 值仍然是 Mary。

更多dict.setdefault()方法的介绍可以参考博客:

六、字典列表排序

python 列表(list)排序:https://blog.csdn.net/u012856866/article/details/120742800

七、collections.defaultdict类

Python之defaultdict方法详解:https://blog.csdn.net/u012856866/article/details/132428597

八、实现字典一个key对应多个value

Python之字典一个key对应多个value:https://blog.csdn.net/u012856866/article/details/132429336

参考资料

猜你喜欢

转载自blog.csdn.net/u012856866/article/details/131642369