前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python全栈开发《52.字典key的获取:通过指定的key来获取到对应的value》

python全栈开发《52.字典key的获取:通过指定的key来获取到对应的value》

作者头像
清菡
发布2024-10-21 15:08:00
发布2024-10-21 15:08:00
22800
代码可运行
举报
文章被收录于专栏:清菡软件测试清菡软件测试
运行总次数:0
代码可运行

1.[]的获取方法

  • 1)字典+中括号内传key,即为获取。
  • 2)只要key存在,返回key对应的value值。
代码语言:javascript
代码运行次数:0
运行
复制
my_dict = {'name':'dewei','age':33}
name = my_dict['name']
print(name)

运行结果:dewei

2.字典内置函数get

1)get功能

获取当前字典中指定key的value。

2)get用法

dict:是被处理的字典。

get()内有2个参数。key:是需要获取的value对应的key。

default:默认这个参数可以不用传。如果key不存在于被处理的字典中,则会返回这个默认值None。

如果default这个参数不传,默认是一个None。当然也可以自定义这个default的值。它可以是任意的类型。

代码语言:javascript
代码运行次数:0
运行
复制
my_dict = {'name':'dewei','age':33}
name = my_dict.get('name')
print(name)

运行结果:dewei

3.[]与get区别

  • 1)使用[]这种方式获取的key不存在字典中,则直接报错。
  • 2)使用get函数这种方式获取的key不存在字典中,则返回默认值None。
  • 3)所以开发中,优先使用get函数对字典中的内容进行查找。

如果在工作中能确定某个key存在字典中,就可以使用[]的形式。因为这种方式没有太多的逻辑判断。速度更快。

而get函数要判断这个key是否存在。如果不存在,就使用默认值来替代。所以相比[]的形式,可能会慢一些。

具体的使用,要看工作中的场景。当然,它们之间的速度差,一般是感觉不到的。

4.代码

例1:使用[]这种方式获取的key不存在字典中。

代码语言:javascript
代码运行次数:0
运行
复制
# coding:utf-8

user_info = {
    'id':1,
    'username':'dewei',
    'password':'abcdefg',
    'created_time':'2020-01-01 11:11:11'
}

values = []
values.append(user_info['id'])
values.append(user_info['username'])
values.append(user_info['password'])
values.append(user_info['created_time'])
print(values)
values.append(user_info['birthday'])

运行结果:报错。

代码语言:javascript
代码运行次数:0
运行
复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/pythondict/bin/python /Users/llq/PycharmProjects/pythonlearn/pythondict/dict_get.py 
[1, 'dewei', 'abcdefg', '2020-01-01 11:11:11']
Traceback (most recent call last):
  File "/Users/llq/PycharmProjects/pythonlearn/pythondict/dict_get.py", line 16, in <module>
    values.append(user_info['birthday'])
KeyError: 'birthday'

进程已结束,退出代码为 1

例2:用get函数这种方式获取的key不存在字典中。

代码语言:javascript
代码运行次数:0
运行
复制
# coding:utf-8

user_info = {
    'id':1,
    'username':'dewei',
    'password':'abcdefg',
    'created_time':'2020-01-01 11:11:11'
}

values = []
values.append(user_info['id'])
values.append(user_info['username'])
values.append(user_info['password'])
values.append(user_info['created_time'])
print(values)
# values.append(user_info['birthday'])

values.append(user_info.get('birthday'))
print(values)

运行结果:输出默认值None。

代码语言:javascript
代码运行次数:0
运行
复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/pythondict/bin/python /Users/llq/PycharmProjects/pythonlearn/pythondict/dict_get.py 
[1, 'dewei', 'abcdefg', '2020-01-01 11:11:11']
[1, 'dewei', 'abcdefg', '2020-01-01 11:11:11', None]

进程已结束,退出代码为 0

例3:用get函数这种方式获取的key不存在字典中,给get函数自定义添加一个默认值(default的值)。

代码语言:javascript
代码运行次数:0
运行
复制
# coding:utf-8

user_info = {
    'id':1,
    'username':'dewei',
    'password':'abcdefg',
    'created_time':'2020-01-01 11:11:11'
}

values = []
values.append(user_info['id'])
values.append(user_info['username'])
values.append(user_info['password'])
values.append(user_info['created_time'])
print(values)
# values.append(user_info['birthday'])

values.append(user_info.get('birthday','1986-01-01'))
print(values)

运行结果:输出自定义的默认值。

代码语言:javascript
代码运行次数:0
运行
复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/pythondict/bin/python /Users/llq/PycharmProjects/pythonlearn/pythondict/dict_get.py 
[1, 'dewei', 'abcdefg', '2020-01-01 11:11:11']
[1, 'dewei', 'abcdefg', '2020-01-01 11:11:11', '1986-01-01']

进程已结束,退出代码为 0

例4:key存在于字典中,使用get函数。get函数中自定义了默认值。

代码语言:javascript
代码运行次数:0
运行
复制
# coding:utf-8

user_info = {
    'id':1,
    'username':'dewei',
    'password':'abcdefg',
    'created_time':'2020-01-01 11:11:11'
}

values = []
values.append(user_info['id'])
values.append(user_info['username'])
values.append(user_info['password'])
# values.append(user_info['created_time'])
values.append(user_info.get('created_time','2020-02-02'))
print(values)
# values.append(user_info['birthday'])

values.append(user_info.get('birthday','1986-01-01'))
print(values)

运行结果:不会使用在get函数中自定义的默认值。

代码语言:javascript
代码运行次数:0
运行
复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/pythondict/bin/python /Users/llq/PycharmProjects/pythonlearn/pythondict/dict_get.py 
[1, 'dewei', 'abcdefg', '2020-01-01 11:11:11']
[1, 'dewei', 'abcdefg', '2020-01-01 11:11:11', '1986-01-01']

进程已结束,退出代码为 0

例5:在字典中加入一个新的键值对'birthday':None

代码语言:javascript
代码运行次数:0
运行
复制
# coding:utf-8

user_info = {
    'id':1,
    'username':'dewei',
    'password':'abcdefg',
    'created_time':'2020-01-01 11:11:11',
    'birthday':None
}

values = []
values.append(user_info['id'])
values.append(user_info['username'])
values.append(user_info['password'])
# values.append(user_info['created_time'])
values.append(user_info.get('created_time','2020-02-02'))
# values.append(user_info['birthday'])
values.append(user_info.get('birthday','2020-03-03'))
print(values)

# values.append(user_info['birthday'])

# values.append(user_info.get('birthday','1986-01-01'))
# print(values)

运行结果:无论字典里的key和value是什么类型的,只要它可以被存入字典中,并且存在的,就可以被成功获取。‍

代码语言:javascript
代码运行次数:0
运行
复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/pythondict/bin/python /Users/llq/PycharmProjects/pythonlearn/pythondict/dict_get.py 
[1, 'dewei', 'abcdefg', '2020-01-01 11:11:11', None]

进程已结束,退出代码为 0
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.[]的获取方法
  • 2.字典内置函数get
    • 1)get功能
    • 2)get用法
  • 3.[]与get区别
  • 4.代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档