将字典键连接到字符串

时间:2012-11-30 12:31:37

标签: python dictionary

我有14个字典都包含相同的信息键(即时间,日期等),但值不同。我正在尝试构建一个函数,当字典被列为函数中的参数时,它会将一个句子放在一起。

如果我有字典:

dic1 = {'Name': 'John', 'Time': 'morning'}

我想将它们连接成一个字符串:

print 'Hello ' + dic1['Name']+', good ' + dic1['Time']+ '.'

我该怎么做?

*注意,抱歉,这会返回错误:

TypeError: can only concatenate list (not "str") to list

3 个答案:

答案 0 :(得分:6)

我认为你的意思是插入,而不是连接

print "Hello %(Name)s, good %(Time)s" % dic1

答案 1 :(得分:2)

使用新样式字符串格式(python2.6或更新版):

print("Hello {Name}, good {Time}.".format(**dic1))

至于你的错误,我无法用你上面提供的代码解释它。如果您尝试将__add__字符串添加到列表中,您将收到该错误:

>>> [45,3] + "foo"
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: can only concatenate list (not "str") to list

但是在字符串中添加一个列表(如果你的字典有一个列表作为值,那么你将使用示例代码进行处理)会产生稍微不同的错误:

>>> "foo" + [45,3]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'list' objects

答案 2 :(得分:0)

web_response = {2L: 67.0, 3L: 13.67, 4L: 10.25, 5L: 11.8, 6L: 11.83}

我有一个名为&#34; web_response&#34;的字典,为了连接字典和字符串,我使用逗号&#34;,&# 34;

print "web_response=", web_response

<强>输出:

web_response= {2L: 67.0, 3L: 13.67, 4L: 10.25, 5L: 11.8, 6L: 11.83}