Python列表打印格式异常:如何实现分行打印?
解决代码问题并实现预期输出格式
第一步:修正代码中的语法错误
你的代码存在两个明显问题:
- 拼写错误:
aplhanumsym需改为alphanumsym - 语法错误:
symbol.append(aplhanumsym[2]缺少闭合括号,应改为symbol.append(alphanumsym[2])
第二步:调整打印逻辑实现每行一个元素的格式
当前代码在每次循环中直接打印三个完整列表,导致输出是整块结构。要实现分组分行的效果,需要先读取所有数据,再分别遍历每个列表逐个打印元素,组与组之间用空行分隔。
修正后的完整代码:
with open("alphanum.csv", "r") as infile: letters = list() numbers = list() symbols = list() # 重命名避免与内置symbol模块冲突 for line in infile: line = line.rstrip('\n') # 跳过CSV中的空行 if not line: continue parts = line.split(',') # 确保每行有3个元素,防止索引越界报错 if len(parts) >= 3: letters.append(parts[0]) numbers.append(parts[1]) symbols.append(parts[2]) # 打印字母列表,每行一个元素 for item in letters: print(item) # 空行分隔不同组 print() # 打印数字列表 for item in numbers: print(item) print() # 打印符号列表 for item in symbols: print(item)
额外优化说明
- 增加空行判断,避免处理CSV空行时出错
- 加入元素数量检查,防止CSV行格式不规范时抛出索引越界异常
- 将
symbol变量名改为symbols,避免与Python内置的symbol模块名称冲突
内容的提问来源于stack exchange,提问作者TwistedAnomly42
相关产品推荐
相关产品推荐

