You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何按要求打印数组中隔组元素对(无括号逗号)

Python数组按指定规则输出成对元素(无括号逗号)

问题描述

给定数组:

m = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

需要实现两种输出格式之一:
第一种输出:

1 2
5 6
9 10

第二种输出:

3 4
7 8
11 12

当前尝试的代码输出带有括号和逗号,不符合要求,尝试代码如下:

a = [m[j:j+2] for j in range(0, len(m), 2)]
a1 = m[::2]
a2 = m[1::2]

if s1 > s2:
    print("\n".join(map(str, a1)))
elif s1 < s2:
    print("\n".join(map(str, a2)))

当前输出:

[3, 4]
[7, 8]
[11, 12]

解决方案

核心是将每一对元素拼接成空格分隔的字符串,再按行打印,避免直接输出列表导致的括号和逗号。

实现第一种输出

从索引0开始,每隔4个位置取一对元素:

m = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
for i in range(0, len(m), 4):
    print(f"{m[i]} {m[i+1]}")

输出结果:

1 2
5 6
9 10

实现第二种输出

从索引2开始,每隔4个位置取一对元素:

m = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
for i in range(2, len(m), 4):
    print(f"{m[i]} {m[i+1]}")

输出结果:

3 4
7 8
11 12

按需切换输出

如果需要根据s1和s2的大小判断输出格式,可以封装成函数:

m = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

def print_target_pairs(start):
    for i in range(start, len(m), 4):
        print(f"{m[i]} {m[i+1]}")

# 示例判断逻辑
s1 = 5
s2 = 3
if s1 > s2:
    print_target_pairs(0)
else:
    print_target_pairs(2)

内容的提问来源于stack exchange,提问作者clumsyAlien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 20:55:10