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

时间:2016-11-03 23:30:18

标签: python dictionary

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

以下是指示:

编写for循环以打印contact_emails中的每个联系人。给定程序的示例输出:

getProperty() {
   this.$nextTick(function() {
      return 'hello';
   });
}

代码:

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

2 个答案:

答案 0 :(得分:3)

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

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

但我建议使用.items()(如果你使用的是Python {2.}},那将.iteritems()代替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也提到利用print变量数参数和格式化也是一个好主意:

print(email, 'is', name)

答案 1 :(得分:0)

一种简单的方法是使用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)

希望这有帮助。