吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1141|回复: 10
收起左侧

[已解决] 有没有办法将字典的键值输出的时候整齐排列?

[复制链接]
zhang1497 发表于 2021-11-26 16:07
本帖最后由 zhang1497 于 2021-11-28 19:21 编辑

自己给自己做了一个练习,然后每次做完以后,把错题增加到另一个空字典中。以便自己查看还有哪下不足。
但是在输出错题 键值的时候  因为各个键值占位不同,导致输出的时候比较乱。
[Python] 纯文本查看 复制代码
i = 0
for key,value in error.items():
    i = i + 1
    if (i+1) % 2 == 0:
        print(key,":",value,end="\t" )
    else:
        print(key, ":", value)
print('\n-----------------------')


结果:


经过大佬【三滑稽甲苯】指导以后,终于对齐了。很好看,对于强迫症的我来说舒服了。
代码如下
[Python] 纯文本查看 复制代码
for key,value in error.items():
    i += 1
    if (i+1) % 5 == 1:
        print('%+4s:%-4s' % (key, value))
    else:
        print('%+4s:%-4s' % (key, value),end="\t" )
print('\n-----------------------')


运行如下:



发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

三滑稽甲苯 发表于 2021-11-26 16:12
如果长度相差不大的话用tab可以直接对齐
相差较大的话建议用"%5s" % key之类的格式化字符串输出
偷懒的方法:使用第三方库,例如prettytable, rich
 楼主| zhang1497 发表于 2021-11-26 16:23
三滑稽甲苯 发表于 2021-11-26 16:12
如果长度相差不大的话用tab可以直接对齐
相差较大的话建议用"%5s" % key之类的格式化字符串输出
偷懒的方 ...

差别不是很大,文字最多3个字,前面的数字也最多2位数。怎么用tab对齐?
年华丶 发表于 2021-11-26 16:41
开新未来 发表于 2021-11-26 16:55
感谢分享,辛苦了

免费评分

参与人数 2吾爱币 -2 收起 理由
颜师古都 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!
刹那光华 -1 请勿灌水,提高回帖质量是每位会员应尽的义务!

查看全部评分

三滑稽甲苯 发表于 2021-11-26 17:00
zhang1497 发表于 2021-11-26 16:23
差别不是很大,文字最多3个字,前面的数字也最多2位数。怎么用tab对齐?

试试看
[Python] 纯文本查看 复制代码
for key, value in error.items():
    i += 1
    if (i+1) & 1:
        print("%s\t: %s" % (key, value))
    else:
        print("%s\t: %s" % (key, value), end='\t')
 楼主| zhang1497 发表于 2021-11-26 18:31
三滑稽甲苯 发表于 2021-11-26 17:00
试试看
[mw_shl_code=python,true]for key, value in error.items():
    i += 1

好一点,但是碰到三个字的value,又乱了。例如:
00:望远镜  01:小树
02:铃儿  03:凳子
冥界3大法王 发表于 2021-11-26 19:49
zhang1497 发表于 2021-11-26 18:31
好一点,但是碰到三个字的value,又乱了。例如:
00:望远镜  01:小树
02:铃儿  03:凳子

显然这种得以数字为排序对象。
比如那个x64dbg生成的INI配置文件中
工具、脚本、命令就是按字母升序排列的
最后输出的结果多于10个时
顺序就是乱的了。
 楼主| zhang1497 发表于 2021-11-26 20:38
冥界3大法王 发表于 2021-11-26 19:49
显然这种得以数字为排序对象。
比如那个x64dbg生成的INI配置文件中
工具、脚本、命令就是按字母升序排 ...

那应该是没办法了,估计要实现也要绕很大一圈。
三滑稽甲苯 发表于 2021-11-26 23:20
zhang1497 发表于 2021-11-26 20:38
那应该是没办法了,估计要实现也要绕很大一圈。

用'%-8s:%-8s' % (key, value)格式化试试看,数字自己调一下

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
zhang1497 + 1 + 1 用心讨论,共获提升!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表