如何在 python 中的列表中的每个元素中打印包括 space 在内的字母数

how to print the no of letters including space in each element in list in python

所以我制作了一个应用程序,它在同一行 python 中的列表中的每个元素中打印第一个字母和包含 space 的单词数量

所以列表是一个文件,在 readlines() 的帮助下我已经转换成一个可以用作列表的变量 这是我的代码,可以打印该列表中每个元素的第一个字母,所以现在我只需要打印列表中每个元素的字母数我将提供我的代码、当前输出、预期输出和文件


    file = open("/usercode/files/books.txt", "r")

    #your code goes here
    contentlines = file.readlines()
    content = file.read()
    no_of_words = str(len(contentlines[0]))

    for first_letter in contentlines:
        print(first_letter[0])

    file.close()

当前输出

H
T
P
G

预期输出

H12
T33
P18
D16

文件内容

Harry Potter
The Red and the Black by Stendhal
Pride and Prejudice
David Copperfield

IIUC,您可以简化代码以同时循环和打印:

with open('/usercode/files/books.txt', 'r') as f:
    for line in f:
        L = len(line.rstrip('\n'))
        print(f'{line[0]}{L}')

输出:

H12
T33
P19
D17

对自己的代码稍作修改:

file = open("books.txt", "r")

#your code goes here
contentlines = file.readlines()
content = file.read()

for line in contentlines:
  if line[-1] != "\n":
    no_of_words = len(line)-1
  else:
    no_of_words = len(line)
  print(line[0], no_of_words, sep="")

file.close()

输出

H12
T33
P19
D17

注意,在len(line)-1中,-1指的是“\n”所示的分界线。算作一个字符:

myname = "\n"
print(len(myname))

这将输出

1