用Python如何换行输出前10位

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

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

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

阅读 1.1k
评论
    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}
      >>> 

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

        • 2.9k

        看你用的是 Python3:

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

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