如何用Python在字典中同时打印两个字符串

2024-05-14 18:59:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我在打印列表和电子邮件中的姓名时遇到问题。代码的开头部分已经预先编写好了,我的尝试是for循环。如果有人能帮助我,我将不胜感激。

以下是说明:

写一个for循环来打印联系人电子邮件中的每个联系人。给定程序的示例输出:

mike.filt@bmail.com is Mike Filt  
s.reyn@email.com is Sue Reyn  
narty042@nmail.com is Nate Arty  

代码:

contact_emails = {
'Sue Reyn' : 's.reyn@email.com',
'Mike Filt': 'mike.filt@bmail.com',
'Nate Arty': 'narty042@nmail.com'
}

for email in contact_emails:
print('%s is %s' % (email, contact_emails(email)))

Tags: 代码comforis电子邮件emailcontact联系人
2条回答

您的问题是需要使用方括号([])而不是圆括号(())。就像这样:

for email in contact_emails:
    print('%s is %s' % (contact_emails[email], email)) # notice the []'s

但我建议您使用.items()(如果您使用Python 2.x)属性dict来代替:

for name, email in contact_emails.items(): # .iteritems() for Python 2.x
    print('%s is %s' % (email, name))

感谢@PierceDarragh提到使用.format()将是字符串格式的更好选择。例如

print('{} is {}'.format(email, name))

或者,正如@ShadowRanger也提到的那样,利用prints变量号参数和格式也是一个好主意:

print(email, 'is', name)

一个简单的方法是使用for/in循环遍历每个键,并为每个键打印每个键,然后打印每个值。

我会这样做:

contact_emails = {
    'Sue Reyn' : 's.reyn@email.com',
    'Mike Filt': 'mike.filt@bmail.com',
    'Nate Arty': 'narty042@nmail.com'
}

for email in contact_emails:
    print (contact_emails[email] + " is " + email)

希望这有帮助。

相关问题 更多 >

    热门问题