admin管理员组

文章数量:1794759

python全栈开发《55.字典中的成员判断》

1.in与not in在字典中的用法

成员运算符可以运用在列表、元组、字典和字符串之中,对于字典,只能判断key是否存在。

代码语言:javascript代码运行次数:0运行复制
test_dict = {'name':'xiaobian'}
print('name'in test_dict)
print('name' not in test_dict)

运行结果:

代码语言:javascript代码运行次数:0运行复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/pythondict/bin/python /Users/llq/PycharmProjects/pythonlearn/pythondict/1.py 
True
False

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

2.字典内置函数get来判断成员是否存在

代码语言:javascript代码运行次数:0运行复制
test_dict = {'name':'xiaobian'}
print(bool(test_dict.get('name')))

运行结果: True

这里有一个问题:如果获取的key的确存在于字典之中,但是value值是0、空字符串、None或False等值的时候。通过get函数判断的方法就有待商榷了(因为key的确存在,value都属于false类型)。

3.代码

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

default_dict = {'a':None,'b':1,'c':0,'d':''}
print('a'in default_dict)
print(bool(default_dict['a']))
print(bool(default_dict.get('a')))
print(bool(default_dict.get('b')))
print('f'in default_dict)
print('f'not in default_dict)

运行结果:

代码语言:javascript代码运行次数:0运行复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/pythondict/bin/python /Users/llq/PycharmProjects/pythonlearn/pythondict/dict_in.py 
True
False
False
True
False
True

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

get函数拿到key的值,然后通过bool类型判断key的值。而成员运算符是对key做判断。 在平时工作中,还是要优先使用成员运算符。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2024-10-23,如有侵权请联系 cloudcommunity@tencent 删除全栈字符串python函数开发

本文标签: python全栈开发《55字典中的成员判断》