遗传算法python实例对象排序python实例对象无法访问其私有属性
下载地址 https://share.weiyun.com/OvviwGnZ
资料目录 Python练习集100题 100道Python面试题 Python100经典练习题 Python经典题目100道题 Python题库(已收录100道真题) Python100例视频讲解课程 菜鸟教程Python教程100例 130道python练习题,涵盖基础内容的方方面面 Python考试题复习知识点试卷试题 PYTHON测试题和答案 python第一阶段考试题 Python经典面试题和答案解析 python期末考试复习试卷 python习题集大全(附答案解析) 老男孩Python全栈7期练习题(面试真题模拟) 尚观python第一阶段考试(面试真题模拟) 《Python程序设计基础与应用》习题答案 《Python快速编程入门》——课后题答案 Python编程基础张健 , 张良均课后习题及答案 Python程序设计基础及实践(慕课版)郭炜习题答案 Python程序设计基础习题答案与分析 python基础试题(含答案)
举例 寻找峰值 题目要求 峰值元素是指其值大于左右相邻值的元素,给定一个序列,请返回所有的峰值元素及其索引 示例1: 输入: nums = [1,2,3,1] 输出: [(2, 3)] 以列表形式输出,元素为tuple,tuple[0]表示索引,tuple[1]表示元素 思路分析 遍历序列,对于每一个元素,都要和自己左右两侧的相邻值进行比较,如果大于两侧相邻值,那么这个元素就是峰值元素。 需要注意的是序列的两端元素,他们都只有一侧有相邻元素,因此在逻辑处理上要考虑这种边界情况。 示例代码 def find_peak(lst): if len(lst) <= 2: return -1 peak_lst = [] for index, item in enumerate(lst): big_than_left = False # 是否比左侧大 big_than_right = False # 是否比右侧大 # 考虑边界情况 if index == 0: big_than_left = True big_than_right = item > lst[index+1] elif index== len(lst) - 1: big_than_right = True big_than_left = item > lst[index-1] else: big_than_left = item > lst[index-1] big_than_right = item > lst[index+1]
if big_than_left and big_than_right: peak_lst.append((index, item))
return peak_lst
if __name__ == '__main__': lst = [1, 2, 1, 3, 5, 6, 4, 8] print(find_peak(lst))
|