使用集合判断成员是否存在(性能)
要判断某个容器是否包含特定成员,用集合比用列表更合适。集合底层使用了哈希表数据结构。
要判断集合中是否存在某个对象obj,python只需先用hash(obj)算出它的哈希值,然后直接去
哈希表对应位置检查obj是否存在即可,根本不需要关心哈希表的其他部分。
如代码需要进行in判断,可以考虑把目标容器转换成集合类型,作为查找时的索引使用
VALID_NAMES = ['jack', 'mike', 'nancy', 'tom', ...] # 列表中数据量越大越好,当数据量小时,直接用in即可,而不用转换为set再用in判断
VALID_NAMES_SET = set(VALID_NAMES)
def validate_name(name):
if name not in VALID_NAMES_SET:
raise ValueError(f'{name} is not a valid name!')
-------------------------------------------
个性签名:代码过万,键盘敲烂!!!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!