首页 > 解决方案 > 获取列表中每一行的长度

问题描述

我有一段文本,我想在少于 50 个字符的任何行的末尾添加一个换行符。

这就是我所在的地方

text = open('file.txt','r+')

line_length = []
lines = list(enumerate(text))

for i in lines:
    line_length.append(len(i))

print lines
print line_length

我只是一遍又一遍地得到一个值 2 的大列表。我知道每行的长度不是2。

编辑:这是我使用的解决方案

text = open('text.txt','r+')
new = open('new.txt','r+')

new.truncate(0)

l=[]

for i in text.readlines():
    if len(i) < 50:
        l.append(i+'\n')
    else:
        l.append(i)

new.write(' '.join(l))

text.close()
new.close()

标签: python

解决方案


好喜欢:

text = open('file.txt','r+')
l=[]
for i in text.readlines():
    if len(i)<50:
        l.append(i)
    else:
        l.append(i.rstrip())

不需要enumerate

或单线(我推荐这个):

l=[i if len(i)<50 else i.rstrip() for i in text.readlines()]

所以你的代码不起作用,因为真的enumerate.

两种情况:

print(l)

是期望的输出。


推荐阅读