如何将Python列表按每11元素一行打印并去除换行符
解决方案
代码实现
# 避免使用内置类型名作为变量名,改用flights_data flights_data = ['UA2483', 'ORD', 'Jan 1', '09:00', 'LAS', 'Jan 1', '10:54', '0 Stop\n-', '3h 54m', 'BASIC ECONOMY', 'USD $230.90', 'UA1488', 'ORD', 'Jan 1', '13:00', 'LAS', 'Jan 1', '14:57', '0 Stop\n-', '3h 57m', 'BASIC ECONOMY', 'USD $230.90'] # 按每11个元素为一组遍历 for start_idx in range(0, len(flights_data), 11): # 截取当前组的元素 current_group = flights_data[start_idx:start_idx+11] # 处理每个元素:移除换行符及末尾的'-' processed_items = [item.replace('\n-', '').strip('\n') for item in current_group] # 拼接成字符串并打印 print(' '.join(processed_items)) # 组与组之间添加空行(最后一组除外) if start_idx + 11 < len(flights_data): print()
关键说明
- 变量名修正:原代码用
list作为变量名会覆盖Python内置的list类型,改用flights_data更规范。 - 分组逻辑:通过
range(0, 长度, 步长=11)自动生成每组的起始索引,支持任意11倍数长度的列表。 - 元素清洗:用字符串替换移除
\n-组合(对应示例中的0 Stop\n-转为0 Stop),同时用strip('\n')处理其他可能存在的独立换行符。 - 格式输出:用
' '.join()将处理后的元素拼接为单行字符串,组间通过判断添加空行,保证输出格式符合要求。
输出效果
UA2483 ORD Jan 1 09:00 LAS Jan 1 10:54 0 Stop 3h 54m BASIC ECONOMY USD $230.90 UA1488 ORD Jan 1 13:00 LAS Jan 1 14:57 0 Stop 3h 57m BASIC ECONOMY USD $230.90
内容的提问来源于stack exchange,提问作者Rustom Contractor
相关产品推荐
相关产品推荐

