Python实现查找列表中偶数长度最长元素及其对应位置
纯Python零依赖实现方案
顺着你提到的enumerate写代码,完全匹配需求规则,可直接运行:
src_list = ['a', 'aaa', 'aa', 'aaaa'] # 初始化匹配结果存储变量 max_even_item = None max_even_len = 0 max_even_pos = 0 # enumerate设置start=1,直接生成从1开始计数的位置,和你预期的位置统计规则完全对齐 for pos, item in enumerate(src_list, start=1): item_len = len(item) # 筛选长度为偶数的元素 if item_len % 2 == 0: # 遇到更长的偶数长度元素时,更新当前的最长记录 if item_len > max_even_len: max_even_len = item_len max_even_item = item max_even_pos = pos result = [max_even_item, max_even_pos] print(f"output: {result}")
运行后的输出和你给的预期完全一致:
output: ['aaaa', 4]
逻辑可以对照你熟悉的MySQL思维理解:
enumerate(..., start=1)相当于给原列表增加了一个从1开始计数的位置列,类似SQL查询里返回的行号- 偶数长度的判断逻辑,等价于SQL筛选条件
WHERE MOD(CHAR_LENGTH(元素值), 2) = 0 - 最长元素匹配的逻辑,等价于将筛选后的结果按元素长度倒序排序,取第一条记录的元素值和对应位置
内容的提问来源于stack exchange,提问作者18818181881
相关产品推荐
相关产品推荐

