再进-PYTHON设计模式-绝对实战-python实战20题
再进-PYTHON设计模式-绝对实战
实战出发,应对常见场景
解决常见算法题
一二章节的参考文档:Python设计模式中的策略模式详解_python_脚本之家 (jb51.net)
写的比较好
一、策略模式
本质:不同算法的组件的共同接口。
二、命令模式
python实战20题
1 AMD 超威半导体 笔试题
2 NLP语料排列组合题
3 字典深拷贝-递归题
4 filter 过滤集合题
背景:对一组json文件,获取相应信息。
json文件格式:
(1)读 json,以及做必要的数据格式转换
(2)对读取的结果的每一条记录,做过滤。入参1 = 一条记录,入参2 = 过滤函数
(3)对过滤的结果进行排序。入参1 = 所有过滤后的记录,入参2 = 排序函数
https://www.runoob.com/python/python-func-filter.html

class DataFilter: def __init__(self): pass def filter_odd(self, data_n): def is_odd(data_n): r = True if data_n % 2 == 1 else False return r res = filter(is_odd, data_n) return list(res) def filter_more_5(self, data_n): def is_more_5(n): return n>=5 res = filter(is_more_5,data_n) return list(res) def filter_similar(self, data_n, similar): def less_similar(n): return n <= similar return list(filter(less_similar, data_n)) def filter_mse(self, data_n, mse): def more_mse(n): return n >= mse return list(filter(more_mse, data_n)) def interseg_and_unoin(): set1 = {1, 2, 3, 4} set2 = {3, 4, 5, 6} # 找到两个集合的交集 intersection_set = set1.intersection(set2) print("Intersection set:", intersection_set) # 找到两个集合的并集 union_set = set1.union(set2) print("Union set:", union_set) obj_list = [1,2,3,4,5,6,7,8] df = DataFilter() res = df.filter_odd(obj_list) # 求 if x % 2 == 1 and x >= 5: 交集 res = df.filter_more_5(df.filter_odd(obj_list)) print(res) # 求 if x <= similar or x >= mse 并集 res = df.filter_mse(df.filter_similar(obj_list, similar=6.0), mse=2.0) print(res) # 3 真实求并集 # obj_list = {"n1":[0.99,100],"n2":[0.98,101], "n3":[0.97,1000], "n4":[0.93,200]} obj_s = [1,2,3,4,5,6,7,] obj_mse = [1,2,3,4,5,6,7] obj_1 = df.filter_similar(obj_s, 3) obj_2 = df.filter_mse(obj_mse, 6) union_set = set(obj_1).union(set(obj_2)) print("Union set:", union_set)
浙公网安备 33010602011771号