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

如何用Python在字典中打印两个字符串,python,dictionary,Python,Dictionary,我无法打印列表中的姓名和电子邮件。代码的开始部分已经预先编写好了,我的尝试是for循环。如果有人能帮助我,我将不胜感激 以下是说明: 写一个for循环以打印联系人电子邮件中的每个联系人。给定程序的示例输出: mike.filt@bmail.com is Mike Filt s.reyn@email.com is Sue Reyn narty042@nmail.com is Nate Arty 代码: 您的问题是需要使用方括号([])而不是括号(())。像这样: for email

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

以下是说明:

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

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


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

for email in contact_emails:
    print('%s is %s' % (contact_emails[email], email)) # notice the []'s
但是我建议您使用dict的
属性
.items()
(如果您使用的是Python 2.x,则为
.iterms()
):

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

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

print('{} is {}'.format(email, name))
或者,正如@ShadowRanger还提到的,利用打印变量数参数和格式也是一个好主意:

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)

希望这能有所帮助。

你很接近<代码>打印(“%s是%s%”(联系电子邮件[电子邮件],电子邮件))
…使用
str.format
不是更好吗<代码>打印({}是{})。格式(名称、电子邮件))对我来说更容易阅读。“也许它要长一点,但我认为它不再是一种更具蟒蛇精神的解决方案了。”皮尔斯达拉格当然。我只是按原样把他们的代码还给OP。但是是的,
.format()
将是一条路。也许值得在你的答案中向OP提及?不管怎样,我都投了赞成票,但我认为有些人继续使用旧的C风格的
%
方法,因为他们不知道还有更好的方法@皮尔斯达拉格:好主意!谢谢在这种情况下,至少使用Py3
print
函数,比任何一种版本的字符串格式都好的是让
print
完成它的工作:
print(email,'is',name)
,它将一次转换和打印一个参数(默认情况下在项目之间插入空格),甚至节省临时格式化字符串的成本。
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)