首页 > 解决方案 > 简单的 python 循环,一旦读取一个新值就会创建一个新行

问题描述

我是 python 新手。我正在尝试在排序列表上应用循环。这个想法是每当循环读取一个与前一个不同的新值时,它会在它之前创建一个新行(我正在使用的编辑器是 jupyter notebook)我尝试过的是

d=[1,1,1,2,2,3,4,5,5,5]
for i in d:
  if i == d[i]:
     print(i)
  elif i != d[i]:
     print(i)
     print('\n')

预期的输出应该是这样的

1
1
1
*new line*
2
2
*new line*
3
*new line*
4
*new line*
5
5
5

但不幸的是,这段代码没有完成这项工作。谢谢你的帮助,我很感激。

标签: pythonloopsfor-loopwhile-loopjupyter-notebook

解决方案


您可以通过比较排序列表中的元素来简单地做到这一点,如下所示:

d=[1,1,1,2,2,3,4,5,5,5]
for i in range(len(d)-1):
   if d[i] == d[i+1]:
     print(d[i])
   else:
     print(d[i])
     print('\n')
print(d[i])

输出:

1
1
1

2
2

3

4

5
5
5

推荐阅读