Python函数参数处理:遍历未知长列表与修改tab函数需求
问题一:Python中遍历未知长度列表元素的方法
不管列表长度是否确定,都可以用以下几种常用方式遍历每个元素:
- 直接遍历元素:最直观简洁,不需要关心索引
def traverse_list(lst): for item in lst: print(item) - 带索引遍历:如果需要获取元素的位置,用
enumerate()函数def traverse_with_index(lst): for index, item in enumerate(lst): print(f"索引{index}: {item}") - 通过索引遍历:结合
range()和列表长度,适合需要手动控制索引的场景def traverse_by_index(lst): for i in range(len(lst)): print(lst[i])
问题二:修改tab函数打印元素'c'
原代码固定访问子列表的前两个元素v[0]和v[1],所以第三个元素'c'无法输出。可以通过以下几种方式修改,兼容任意长度的子列表:
方法1:用*解包子列表元素
直接解包子列表的所有元素,是最简洁的实现方式:
def tab(data): for i, v in enumerate(data): print(i, *v) tab([['a', 'b']]) tab([['a', 'b', 'c']])
运行结果:
0 a b 0 a b c
方法2:循环打印子元素
如果需要自定义元素间的分隔符或格式,可遍历子列表的每个元素:
def tab(data): for i, v in enumerate(data): print(i, end=' ') for item in v: print(item, end=' ') print()
方法3:字符串拼接输出
将子元素转为字符串后拼接,方便统一格式:
def tab(data): for i, v in enumerate(data): print(f"{i} {' '.join(map(str, v))}")
内容的提问来源于stack exchange,提问作者chetan honnavile
相关产品推荐
相关产品推荐

