Python中如何用for循环从索引1开始打印列表的隔项元素?
解决方法
方法1:用range生成索引(适合理解循环逻辑)
直接用range()函数生成从索引1开始、步长为2的索引序列,精准遍历你需要的元素:
for i in range(1, len(ul_children), 2): print(ul_children[i])
range(1, len(ul_children), 2)的含义:从1开始,到列表长度结束(不包含),每次递增2,刚好对应「从第二个元素开始,每隔一个」的位置。
方法2:列表切片(最Pythonic的写法)
Python列表支持切片语法,直接提取目标子列表再遍历:
for item in ul_children[1::2]: print(item)
ul_children[1::2]的含义:从索引1的位置开始,以步长2截取所有元素,得到的就是你要的目标元素集合,直接遍历打印即可。
修正你原来的代码(保留类似结构)
你原代码的问题是没让i递增,且遍历整个列表会导致重复打印甚至索引越界,可改成:
i = 1 # 用while循环控制索引,避免超出列表长度 while i < len(ul_children): print(ul_children[i]) i += 2 # 每次循环让i增加2,实现每隔一个元素
不过这种写法不如前两种简洁,更推荐前两种方式。
内容的提问来源于stack exchange,提问作者Hayden
相关产品推荐
相关产品推荐

