我正在尝试将一个unicode字符串附加到字典中每个值的末尾...看起来简单明了,但我无法弄明白该怎么做 - 这不起作用:
redefined = u'_redefined'
for key, value in FCFDdict.iteritems():
value.join(redefined)
print value
我错过了什么?非常感谢Feedack !!!
编辑:我的值是unicode文件路径。
答案 0 :(得分:3)
这不是str.join
所做的。 str.join
用于从字符串值列表中创建单个字符串。以下是两个字符串的作用:
>>> value = u"value"
>>> redefined = u"redefined"
>>> value.join(redefined)
u'rvalueevaluedvalueevaluefvalueivaluenvalueevalued'
此外,由于字符串是不可变的,因此您无法修改它们。相反,您需要替换字典中保存的值。这可行:
redefined = u'_redefined'
for key, value in FCFDdict.iteritems():
FCFDdict[key] = value + redefined
print FCFDdict[key]
使用字符串连接(使用+
)是您所需要的,无论它是否是unicode字符串。
答案 1 :(得分:2)
您可以使用dictionary comprehension:
FCFDdict2 = {key: value + redefined for key, value in FCFDdict.iteritems()}
答案 2 :(得分:0)
redefined = u'_redefined'
for key, value in FCFDdict.iteritems():
FCFDdict[key] = value + redefined
print FCFDdict[key]
答案 3 :(得分:0)
>>> d = {"a":"1", "b":"2", "c":'3'}
>>> redefined = u'_redefined'
>>> for key, value in d.iteritems():
d[key] = value + redefined
>>> d
{'a': u'1_redefined', 'c': u'3_redefined', 'b': u'2_redefined'}