如何在遍历Python字典时先输出值再输出键?
解决Python字典先打印值再打印键的问题
嘿,作为编程新手遇到这种小问题太正常啦,我来帮你捋清楚~
首先看你原来的代码,有两个小问题:一是for循环后的print语句没缩进(Python对缩进要求可严了),二是格式化字符串的写法不对,而且你还没把键(姓名)作为参数传进去。
想要先显示邮箱地址(值)再显示姓名(键),有两种简单易懂的方法:
方法一:遍历键,再取对应的值
先遍历字典的键(也就是姓名),然后通过键获取对应的邮箱,最后调换顺序打印就行:
contact_emails = { 'Sue Reyn' : 's.reyn@email.com', 'Mike Filt': 'mike.filt@bmail.com', 'Nate Arty': 'narty042@nmail.com' } # 遍历字典的键(姓名) for name in contact_emails: # 通过键获取对应的邮箱 email = contact_emails[name] # 先打印邮箱,再打印姓名 print(f"{email} is {name}")
方法二:用items()直接获取键值对(更直观)
字典的items()方法会返回每一组键值对,我们可以直接把它解构为姓名和邮箱,然后调换顺序打印,这种写法逻辑更清晰:
contact_emails = { 'Sue Reyn' : 's.reyn@email.com', 'Mike Filt': 'mike.filt@bmail.com', 'Nate Arty': 'narty042@nmail.com' } # items()返回(name, email)这样的元组,直接解构赋值 for name, email in contact_emails.items(): # 先打印邮箱,再打印姓名 print(f"{email} is {name}")
运行上面任意一段代码,输出都会是你想要的效果:
s.reyn@email.com is Sue Reyn mike.filt@bmail.com is Mike Filt narty042@nmail.com is Nate Arty
内容的提问来源于stack exchange,提问作者Michael Padron
相关产品推荐
相关产品推荐

