python - 无论我多么努力,Python代码都不会在新行中显示列表值
问题描述
我编写了一个运行良好的代码,没有错误,没有问题。但是无论我多么努力地尝试在新行中打印每个列表值,它仍然无法正常工作。我已经尝试过sep='\n'
,甚至尝试将列表放入循环中以逐个打印每个值。我仍然可以在一行中连续打印所有结果。这听起来太烦人了,我无法弄清楚为什么我的代码会出现这种奇怪的行为。这是我的代码:
length = int(input())
input_string = [int(y) for y in input().split()]
def lowest(string):
return(min(x for x in string if x is not None))
def none_set(string):
for k in range(length):
if string[k] != None:
if string[k] <=0:
string[k] = None
def counter(string):
nums = 0
for h in range(length):
if string[h] != None:
nums += 1
return nums
cnt = []
for i in range(length):
minimum = lowest(input_string)
none_set(input_string)
cnt.append(counter(input_string))
for j in range(length):
if input_string[j] != None:
input_string[j] -= minimum
result = list(set(cnt))[::-1]
print(result, sep='\n') #Doesn't print the values in new line :/
样本输入:
6
5 4 4 2 2 8
预期输出:
6
4
2
1
我得到的输出:
[6, 4, 2, 1]
如果您想知道我的代码到底是做什么的,请在此处查看此链接(无需登录/注册),但是,我想说,这个问题与我的代码的目标并不真正相关。
我提前感谢任何提示、解决方案或帮助。
解决方案
这是因为您正在打印整个列表。
lst = ['a','b','c']
如果我打印此列表,我会得到['a','b','c']
. 要打印每个项目,您可以使用 for 循环,如下所示:
lst = ['a','b','c']
for item in lst:
print(item)
#output:
a
b
c
推荐阅读
- html - 按钮提交表单 HTML 双重动作(提交并重新加载)
- git - 将 CircleCI 更改部署到 Heroku
- javascript - Leaflet.draw:如何绘制八边形/十六边形或其他正多边形?
- jquery - Knockout.js:如何根据另一个可观察数组更新属性
- java - Java 多线程非静态和静态方法行为保持不变
- php - Wordpress:完全替换 the_content
- python - 熊猫 | 保存最后一行的索引值
- python - Django - 对具有 2 个属性的模型的引用
- bash - 如何使用空格字符迭代值?
- ios - iOS 应用程序将数据从外部硬件传输到 iphone