Python使用enumerate遍历列表如何实现隔位配对打印目标元素
解决方法
你只需要让循环的索引每次步进2即可,有几种常见实现方式:
方式1:使用range指定步长遍历索引
for i in range(0, len(my_list), 2): print(f"letter: {my_list[i]} number {my_list[i+1]}")
原理是直接从索引0开始,每次加2,只会取到0、2、4、6这些对应字母的索引,再取下一位的数字元素即可,输出完全符合你的预期。
方式2:保持原有enumerate写法,加判断过滤偶数索引
如果你不想大幅改动原有代码结构,只需补充索引奇偶判断即可:
for i, x in enumerate(my_list): # 只处理偶数位索引(0、2、4、6)对应的字母元素 if i % 2 == 0: print(f"letter: {x} number {my_list[i+1]}")
方式3:列表切片分组处理
也可以先把原列表按每两个元素一组拆分,再遍历分组,代码可读性更高:
for letter, number in zip(my_list[::2], my_list[1::2]): print(f"letter: {letter} number {number}")
my_list[::2]是取所有偶数位元素(字母),my_list[1::2]是取所有奇数位元素(数字),用zip配对后直接遍历即可。
内容的提问来源于stack exchange,提问作者magicsword
相关产品推荐
相关产品推荐

