我有一本字典,我想将每个值都转换为utf-8。这可行,但是有“更pythonic”的方式吗?
for key in row.keys(): row[key] = unicode(row[key]).encode("utf-8")
对于列表我可以做
[unicode(s).encode("utf-8") for s in row]
但我不确定如何对字典做同样的事情。
这与Python字典理解不同,因为我不是从头开始创建字典,而是从现有字典中创建字典。链接问题的解决方案没有向我展示如何遍历现有字典中的键/值对,以便将其修改为新字典的新k / v对。下面的答案(已被接受)显示了如何执行此操作,并且对于具有类似于我的任务的某人,其阅读/理解比链接的相关问题的答案要清晰得多。
使用字典理解。看来您是从字典开始的,所以:
mydict = {k: unicode(v).encode("utf-8") for k,v in mydict.iteritems()}
字典理解的示例在链接中该块的末尾附近。