Python如何对比两个列表对应位置元素长度,提取更长元素及对应长度
实现思路
遍历两个列表相同索引位置的元素,逐次比较二者长度,将更长的元素加入结果列表c,同时将对应长度加入长度列表d。需要先保证两个输入列表长度一致,避免出现索引越界问题。
可直接运行的代码(适合初学者理解的基础写法)
# 你的输入示例 a = ["AAAA", "BB", "CCC", "DDDDD"] b = ["E", "FFF", "GGGG", "HH"] c = [] d = [] # 先校验两个输入列表长度是否一致 if len(a) != len(b): print("错误:两个输入列表的元素数量必须相等") else: # 按索引逐位比较 for index in range(len(a)): a_item = a[index] b_item = b[index] len_a = len(a_item) len_b = len(b_item) if len_a >= len_b: c.append(a_item) d.append(len_a) else: c.append(b_item) d.append(len_b) # 打印结果验证 print("c =", c) print("d =", d)
运行结果
c = ['AAAA', 'FFF', 'GGGG', 'DDDDD'] d = [4, 3, 4, 5]
补充说明
如果两个位置的元素长度相等时,上述代码默认选择a列表的元素,如果你需要默认选b列表的元素,只需要把判断条件len_a >= len_b改为len_a > len_b即可。
内容的提问来源于stack exchange,提问作者Enfield Li
相关产品推荐
相关产品推荐

