python100例核心知识python100例菱形图案python100例排列组合
下载地址 https://share.weiyun.com/Fz43Qnru
资料目录 Python练习集100题 100道Python面试题 Python100经典练习题 Python经典题目100道题 Python题库(已收录100道真题) Python100例视频讲解课程 菜鸟教程Python教程100例 130道python练习题,涵盖基础内容的方方面面
举例 enumerate 题目要求 enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中,下面是使用示例 lst = ['a', 'b', 'c'] for index, item in enumerate(lst): print(index, item) 程序输出 0 a 1 b 2 c 请仿造该功能实现下面的函数 def my_enumerate(lst): """ 实现和enumerate 类似的功能 :param lst: :return: """ pass 思路分析 想要实现这个函数,只需两行代码就可以了,不过,这需要你对生成器有一定的理解和认识。 一个函数里如果出现了yield关键字,那么这个函数就是生成器函数,该函数返回的是一个生成器。 yield有着和return相似的功能,都会将数据返回给调用者,不同之处在于,return执行后,函数结束了,而yield执行后,会保留当前的状态,等到下一次执行时,恢复之前的状态,继续执行。 在函数内部,使用for循环通过索引 遍历lst, 使用yield返回索引和索引位置上的元素。 示例代码 def my_enumerate(lst): """ 实现和enumerate 类似的功能 :param lst: :return: """ for i in range(len(lst)): yield i, lst[i]
lst = ['a', 'b', 'c'] for index, item in my_enumerate(lst): print(index, item)
|