python把文件平均分成三个_python 把文件内容分成三列

python 把文件内容分成三列

关注:197  答案:2  mip版

解决时间 2021-01-20 01:51

e6cb1a03ad541b3098697807b7bf1798.png

提问者葃日懙妳

2021-01-19 05:40

比如有一文件 cat file.txt:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

我想分成三列显示: cat file.txt

1 6 11

2 7 12

3 8 13

4 9 14

5 10

#!/usr/bin/env python

def itercolumn(lines, column_line):

block = []

for ln in lines:

block.append(ln)

if len(block) == column_line:

yield block

block = []

if 0 < len(block) < column_line:

block = block + [''] * (column_line - len(block))

yield block

lns = [ln.strip() for ln in open("file.txt", 'r')]

column_num = 3

column_ln = (column_num + len(lns) - 1) / column_num

columns = [column for column in itercolumn(lns, column_ln)]

for row in zip(*columns):

print "\t".join(row)

求更简洁更高效的 PYTHON代码, 上面代码有点复杂

最佳答案

e6cb1a03ad541b3098697807b7bf1798.png

二级知识专家風聲提筆

2021-01-19 05:50

#!/usr/bin/env python

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

d=f.readlines()

with open('file.txt','w') as f:

for i in range(len(d)):

if (i+1)%3!=0:

f.write('%s ' %d[i].strip())

else:

f.write(d[i])

全部回答

e6cb1a03ad541b3098697807b7bf1798.png

1楼亲亲兔耳朵

2021-01-19 06:09

#!/usr/bin/env python with open('file.txt') as f: d=f.readlines() with open('file.txt','w') as f: for i in range(len(d)): if (i+1)%3!=0: f.write('%s ' %d[i].strip()) else: f.write(d[i])

我要举报

如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

点此我要举报以上信息!

推荐资讯

大家都在看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值