优秀的编程知识分享平台

网站首页 > 技术文章 正文

Python基础知识储备,字典的常见用法,不可不会的技能

nanyue 2024-10-24 11:52:05 技术文章 35 ℃

如何在字典中访问某个元素

创建一个字典student_name,如果访问的key不存在,程序会报错,出现错误可以通过异常处理来解决,后面会详细介绍什么是异常处理,今天这里先采用setdefault和get来解决出错的问题,请看示例:

student_name = {20190101: "王一", 20190102: "王二", 20190103: "王三", 20190104: "王四"}
print(student_name.setdefault(20190105, "None"))
print(student_name.get(20190105, "None"))

解释:在字典中查找键20190105,不存在,所以赋予默认键值为None;Python 字典 setdefault() 函数和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。

另外一种方式是通过Python 字典 pop() 方法删除字典给定键 key 及对应的值,返回值为被删除的值。key 值必须给出。 否则,返回 default 值。

print(student_name.pop(20190105,"None"))

解释:使用pop删除不存在的key,如果没有key,就返回default值为None,后面的参数是避免获取某一个key不出存在时的初始值

字典的常见方法

1)在字典中不能使用* + ,可以使用update让两个字典合并,看演示图:

dic01={20190101:87,20190102:77,20190103:94,20190104:75}
dic02={20190105:90,20190106:89,20190107:95,20190108:76}
# print(dic01 + dic02) 
# print(dic01 * 3) 

使用update让两个字典合并,类似于+

dic01.update(dic02)
print(dic01)

2)字典的赋值 =

dic01={20190101:87,20190102:77,20190103:94,20190104:75}

dic03 = dic01

print(dic03)

注意:如果改变dic01,那么dic03也会变的。

3) 字典copy() 函数返回一个字典的浅复制

dic01={20190101:87,20190102:77,20190103:94,20190104:75}
dic04 = dic01.copy()
print(dic01)
print(dic04)
dic01[20190102] = 99
print(dic01)
print(dic04)

在字典中使用浅复制,把存储的每个值索引复制一份,改变一个,另外一个不变

4)len 计算字典元素个数,即键的总数。

dic01={20190101:87,20190102:77,20190103:94,20190104:75}
print(len(dic01))

5)in 判断key在字典中是否包含

dic01={20190101:87,20190102:77,20190103:94,20190104:75}
print(20190102 in dic01)

6)sorted 按照key排序

dic01={20190104: 87, 20190102: 77, 20190101: 94, 20190103: 75}
print(sorted(dic01))

7)字典中针对key计算 max(最大值),min(最小值),sum(求和)

dic01={20190104:87,20190102:77,20190101:94,20190103:75}
print(max(dict01))
print(min(dict01))
print(sum(dict01))

在字典中使用fromkeys ()函数创建新字典,产生一个字典的架构

student_number=[20190101,20190102,20190103,]
student_result={}.fromkeys(student_number)#创建一个字典架构
print(student_result)
student_result[20190101]=258#添加value
student_result[20190102]=320
student_result[20190103]=347
print(student_result)

跟着教头一起学习,每天都能进步。

最近发表
标签列表