我有14个字典都包含相同的信息键(即时间,日期等),但值不同。我正在尝试构建一个函数,当字典被列为函数中的参数时,它会将一个句子放在一起。
如果我有字典:
dic1 = {'Name': 'John', 'Time': 'morning'}
我想将它们连接成一个字符串:
print 'Hello ' + dic1['Name']+', good ' + dic1['Time']+ '.'
我该怎么做?
*注意,抱歉,这会返回错误:
TypeError: can only concatenate list (not "str") to list
答案 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}