如何在禁用max、index、enumerate的情况下获取列表最长字符串的索引
解决方案
你可以通过手动维护索引计数器和最长长度的方式实现需求,修改后的代码如下:
list1 = ['aaaa', 'bbb', 'c', 'ddddd', '', 'ff'] def getLongestStringIndex(list_of_strings): longest_length = 0 longest_index = 0 current_index = 0 for string in list_of_strings: # 比较当前字符串长度与已记录的最长长度 if len(string) > longest_length: longest_length = len(string) longest_index = current_index # 手动递增索引计数器 current_index += 1 return longest_index print(getLongestStringIndex(list1)) # 输出:3
修改说明
- 移除原代码中记录最长字符串的变量,改用
longest_length跟踪最长字符串的长度,longest_index存储对应的索引。 - 新增
current_index变量,手动在遍历过程中维护当前元素的索引,避免使用enumerate。 - 每次遍历元素时,若当前字符串长度超过已记录的最长长度,就同步更新
longest_length和longest_index。 - 最终返回记录的最长索引,完全符合需求且未使用任何禁用方法。
内容的提问来源于stack exchange,提问作者jessiehitech
相关产品推荐
相关产品推荐

