我想知道如何在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)
答案 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'
}]
我在排序方法上使用了切片。