python打印字符串的前n行

时间:2018-10-25 05:54:01

标签: python-3.x enumerate

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

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

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

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)

5 个答案:

答案 0 :(得分:1)

针对那些来此帖子标题而不是OP的问题(与问题无关)的人。

对于单行代码,我们可以使用换行符对字符串进行分割(),然后再次使用换行符对结果列表中的前N个元素进行join()。

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

答案 1 :(得分:0)

如果您只想获取列表的前10个元素,则只需对列表进行切片

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

答案 2 :(得分:0)

一旦if产生的计数器变量break到达word,您就可以使用enumerate语句来10循环:

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

答案 3 :(得分: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

答案 4 :(得分:0)

对我来说,它是这样工作的:

[{
  name: 'name1',
  street: 'street2',
  person: 'person1',
  phone1: 'phone82 ',
  phone2: 'phone3'
},
{
  name: 'name2',
  street: 'street2',
  person: 'person1',
  phone1: 'phone1 ',
  phone2: 'phone2'
}]

我在排序方法上使用了切片。