python打印第n行字符串

问题描述 投票:-1回答:4

我想知道如何在python中打印前n行字符串这里是我的代码:

for word, numbers in enumerate(sorted):
        print(word,':',numbers)

输出如下所示。如何打印这些字符串的前10行?我试过使用范围,但它只打印真或假......

0 : ('the', 1577)
1 : ('and', 1080)
2 : ('of', 761)
3 : ('to', 734)
4 : ('a', 720)
5 : ('in', 550)
6 : ('it', 451)
7 : ('was', 432)
8 : ('his', 405)
9 : ('he', 381)
10 : ('I', 365)
11 : ('Scrooge', 361)
12 : ('that', 346)
13 : ('with', 312)
14 : ('you', 254)
15 : ('as', 229)
16 : ('said', 221)
17 : ('for', 209)
18 : ('had', 207)
19 : ('him', 198)
20 : ('not', 193)
python-3.x enumerate
4个回答
0
投票

如果您只想获取列表中的10个第一个元素,则只需相应地对列表进行切片

for word, numbers in enumerate(sorted[:10]):
        print(word,':',numbers)

1
投票

对于那些来到这个职位的人而不是OP的问题(与问题没那么相关)。

对于单行,我们可以通过换行符拆分()字符串,然后再按新行添加()结果列表的前N个元素。

os.linesep.join(str.split(os.linesep)[:10])

0
投票

你可以使用if语句来break循环word,你的计数器变量由enumerate生成,达到10

for word, numbers in enumerate(sorted):
    if word == 10:
        break
    print(word,':',numbers)

0
投票

正如评论中提到的那样,您需要输出

0 : ('the', 1577) 1 : ('and', 1080) 2 : ('of', 761) 3 : ('to', 734) 4 : ('a', 720) 5 : ('in', 550) 6 : ('it', 451) 7 : ('was', 432) 8 : ('his', 405) 9 : ('he', 381)

你可以像这样在10次迭代后打破循环。

count = 0
for word, numbers in enumerate(sorted):
    if count == 10:
        break
    print(word,':',numbers)
    count += 1

要么

你可以利用word并打破这样的基础

for word, numbers in enumerate(sorted):
    if word == 10:
        break
    print(word,':',numbers)

请记住,将保留关键字用作变量名称不是最佳做法。因此,您必须使用其他变量名称而不是sorted

© www.soinside.com 2019 - 2024. All rights reserved.