用Python如何换行输出前10位

TimbersBAO
  • 22

给定一个已经排序好的字典。如图
截屏2020-03-0721.29.34.png

转换成一行行输出
如图,截屏2020-03-0721.30.31.png

该如何转换。最近改用python,一时间不是很明白该怎么转换。

评论
阅读 1.5k
4 个回答

麻烦一点就是将dict的前10位取出赋给一个list,再用list输出即可。PS:查清楚type

pprint

这是 Python 标准库模块,全称 pretty printer,可以让各种数据结构更美观地输出。
pprint.pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False)

  • stream:输出流,默认是 sys.stdout ,也就是屏幕输出。
  • indent:缩进空格数。
  • width:每行最大宽度,默认为80个字符,超过宽度会换行,但如果单个对象超过不会被换行,比如一段长字符串。
  • depth:限制数据的层级,设置后可以限制过多的嵌套。
  • compact:3.4版本新加入的参数,若设为 True ,则输出会在接近 width 限制才进行换行。
>>> d = {(1,'aaaaa') : 0.123456898765445676,(2,'aaaaa') : 0.123456898765445676,(3,'aaaaa') : 0.123456898765445676,(4,'aaaaa') : 0.123456898765445676,(5,'aaaaa') : 0.123456898765445676,(6,'aaaaa') : 0.123456898765445676}
>>> print(d)
{(3, 'aaaaa'): 0.12345689876544567, (1, 'aaaaa'): 0.12345689876544567, (5, 'aaaaa'): 0.12345689876544567, (6, 'aaaaa'): 0.12345689876544567, (4, 'aaaaa'): 0.12345689876544567, (2, 'aaaaa'): 0.12345689876544567}
>>> import pprint
>>> pprint.pprint(d)
{(1, 'aaaaa'): 0.12345689876544567,
 (2, 'aaaaa'): 0.12345689876544567,
 (3, 'aaaaa'): 0.12345689876544567,
 (4, 'aaaaa'): 0.12345689876544567,
 (5, 'aaaaa'): 0.12345689876544567,
 (6, 'aaaaa'): 0.12345689876544567}
>>> 

另外补充一点,字典是无序的。

看你用的是 Python3:

print('要输出的内容', end='\n')
print('\n'.join([i for i in sort_dict][:top_n])
撰写回答

登录后参与交流、获取后续更新提醒

宣传栏