如何将整数对存为列表元素并按指定格式输出(禁用特定方法)
问题描述
我希望将两个空格分隔的整数变量作为一个元素添加到列表中,之后将列表内容按换行输出。例如:
storage = a + 3, b + 3 lst.append(storage)
但当前执行如下代码时:
for i in lst: print(i)
输出结果为:
>>> (4, 7) >>> (3, 6) >>> (7, 7)
我需要的输出格式为:
>>> 4 7 >>> 3 6 >>> 7 7
即每行输出空格分隔的整数对,无逗号和括号。此外,列表中还会夹杂单个整数,输出时这些单个整数也需单独占一行,例如:
预期输出:
>>> 1 >>> 4 7 >>> 3 6 >>> -1 >>> 7 7 >>> 3
要求实现时不得使用列表推导、映射、自定义函数及导入操作,请问该如何实现?
实现方案
可以通过遍历列表时判断元素类型,分别处理单个整数和元组的场景:
lst = [1, (4,7), (3,6), -1, (7,7), 3] for item in lst: if isinstance(item, tuple): print(f"{item[0]} {item[1]}") else: print(item)
执行后输出结果如下,完全符合预期:
1 4 7 3 6 -1 7 7 3
说明
- 用
isinstance(item, tuple)判断当前元素是否为元组(即你添加的整数对) - 若是元组,通过索引取出两个元素,用f-string格式化为空格分隔的字符串后打印
- 若是单个整数,直接打印即可
该实现未使用列表推导、映射、自定义函数或任何导入操作,仅依靠基础循环和条件判断完成需求。
内容的提问来源于stack exchange,提问作者winters768
相关产品推荐
相关产品推荐

