如何为Python字典打印结果添加索引编号?求代码修改方案
给字典打印添加索引编号的解决方法
你可以用Python的enumerate()函数来解决这个问题,它能帮你在遍历字典的时候同时获取到索引编号和键值对,还能指定索引起始值,避免手动加1的拼接问题。
修改后的代码:
def viewcontacts(contacts): print("-------- view contacts --------") # 使用enumerate,start=1让索引从1开始计数 for idx, (key, value) in enumerate(contacts.items(), start=1): # 用f-string格式化输出,保证排版对齐整齐 print(f" {idx:<4}{key:<10}{value}")
关键说明:
enumerate(contacts.items(), start=1):遍历字典的键值对时,同步生成从1开始的索引编号idx,省去手动计算索引的麻烦。f-string格式化:{idx:<4}让索引占4个字符宽度且左对齐,{key:<10}让姓名占10个字符宽度且左对齐,这样输出的格式会和你期望的完全一致,不会因为内容长度差异导致排版混乱。
测试效果:
假设你的字典是:
contacts = {"Stish": "123", "Rita": "321"}
调用viewcontacts(contacts)后,输出为:
-------- view contacts -------- 1 Stish 123 2 Rita 321
之前你遇到的字符串与整数拼接报错,是因为Python不允许直接用+把整数(比如x+1的结果)和字符串拼接,必须先把整数转成字符串(比如str(x+1)),但用enumerate配合格式化字符串的方法更简洁规范。
内容的提问来源于stack exchange,提问作者nebula82
相关产品推荐
相关产品推荐

