Python:每第n行分割后换行

Python:每第n行分割后换行,python,Python,我想在python中的txt文件上,每隔10个数字或9个9的拆分就强制换行?我该怎么办?所以说我有 Input would be something like: 40 20 30 50 40 40 40 40 40 40 20 40 20 30 50 40 40 40 20 40 20 30 50 40 40 40 40 20 20 20 20 20 20 在一个txt.txt文件中加int 并且输出应该是 40 20 30 50 40 40 40 40 40 40 20 40

我想在python中的txt文件上,每隔10个数字或9个9的拆分就强制换行?我该怎么办?所以说我有

Input would be something like: 
40 20 30 50 40 40 40 40 40 40  
20 40 20 30 50 40 40 40 
20 40 20 30 50 40 40 40 40 20 20 20
20 20 20 
在一个txt.txt文件中加int 并且输出应该是

40 20 30 50 40 40 40 40 40 40  
20 40 20 30 50 40 40 40 
20 40 20 30 50 40 40 40 40 20
20 20 
20 20 20 
所以基本上每10个数字或9行分割后就中断

我试过:

with open('practice.txt') as f:

    for line in f:
         int_list = [int(num) for num in line.split() ]
         if len(int_list) < 20:
            print(int_list)
         else: 

             new_list = int_list[20:]
             int_list = int_list[:20]
             print(int_list)
             print(new_list)
以open('practice.txt')作为f的
:
对于f中的行:
int_list=[int(num)表示行中的num.split()]
如果len(内部列表)<20:
打印(内部列表)
其他:
新列表=整数列表[20:]
int_list=int_list[:20]
打印(内部列表)
打印(新列表)

但这并不能完全解决问题。还要注意,线路长度可能会有所不同。因此,第一行可以有5个数字,第二行可以有9个,第三行可以有10个,第四行可以有10个,那么使用[count]来计算列表中某个项目的出现次数怎么样

list == [40, 20, 30, 50, 40, 40, 40, 40, 40, 40, 20]
for i in list:
    if list.count(i) > 10:
        # Do Stuff

使用[count]统计列表中某个项目的出现次数如何

list == [40, 20, 30, 50, 40, 40, 40, 40, 40, 40, 20]
for i in list:
    if list.count(i) > 10:
        # Do Stuff

看起来
with
语句下面的所有内容都应该再缩进一级。您的方法似乎是一个良好的开端,但如果一条线上有两个以上的组,它将不起作用。下面的代码处理了这一点,并稍微简化了一些事情:

with open('practice.txt') as f:
    values = []
    for line in f:
        int_list = [int(num) for num in line.split()]
        # the next line splits int_list into groups of 10 items, 
        # and appends all the groups to the values list
        values.extend(int_list[i:i+10] for i in range(0, len(int_list), 10))

print values
# [
#     [40, 20, 30, 50, 40, 40, 40, 40, 40, 40],
#     [20, 40, 20, 30, 50, 40, 40, 40],
#     [20, 40, 20, 30, 50, 40, 40, 40, 40, 20],
#     [20, 20],
#     [20, 20, 20]
# ]

看起来
with
语句下面的所有内容都应该再缩进一级。您的方法似乎是一个良好的开端,但如果一条线上有两个以上的组,它将不起作用。下面的代码处理了这一点,并稍微简化了一些事情:

with open('practice.txt') as f:
    values = []
    for line in f:
        int_list = [int(num) for num in line.split()]
        # the next line splits int_list into groups of 10 items, 
        # and appends all the groups to the values list
        values.extend(int_list[i:i+10] for i in range(0, len(int_list), 10))

print values
# [
#     [40, 20, 30, 50, 40, 40, 40, 40, 40, 40],
#     [20, 40, 20, 30, 50, 40, 40, 40],
#     [20, 40, 20, 30, 50, 40, 40, 40, 40, 20],
#     [20, 20],
#     [20, 20, 20]
# ]

你能为我添加一个所需的输入和输出格式吗。请确保将其缩进4个空格:)您想将结果写回文件还是只在屏幕上显示?您是否需要将这些值转换为整数,或者只需按照您所描述的方式处理这些行(在同一行的每10个条目后添加换行符)。还有,这和熊猫有什么关系吗(正如你所标记的)?因为代码工作——使用codereview可能重复:@mfripp好的,在我断线后(每行10个),我将操纵每一行并进行计算。因此,他们确实需要为我的目的,扫描它的演员请为我添加一个理想的输入和输出格式。请确保将其缩进4个空格:)您想将结果写回文件还是只在屏幕上显示?您是否需要将这些值转换为整数,或者只需按照您所描述的方式处理这些行(在同一行的每10个条目后添加换行符)。还有,这和熊猫有什么关系吗(正如你所标记的)?因为代码工作——使用codereview可能重复:@mfripp好的,在我断线后(每行10个),我将操纵每一行并进行计算。因此,他们确实需要被选为我的目标,这就是我所想的,但我最大的问题是每一组数字都要换行,不仅仅是它们大于10对不起,我想我误解了这个问题,编辑澄清了一些事情。我回家后会做一个编辑我走了那条路,我就是这么想的,但我最大的问题是每一组数字都要换行,不仅仅是它们大于10对不起,我想我误解了这个问题编辑澄清了一些事情。我回家后会编辑的你说得对。我把它缩进了我的文件,但当我把它转过来的时候,它粘贴得不太正确。从技术上讲,这个答案是正确的,因为我是如何解释我的问题的,但是。。。。我不希望将少于10个数字的行与另一行分组。此解决方案不会将短行分组在一起。它为每一行重新启动
for
循环。是的,关于缩进你是对的。我把它缩进了我的文件,但当我把它转过来的时候,它粘贴得不太正确。从技术上讲,这个答案是正确的,因为我是如何解释我的问题的,但是。。。。我不希望将少于10个数字的行与另一行分组。此解决方案不会将短行分组在一起。它为每一行启动
for
循环fresh。