小编典典

将每个字典值转换为utf-8(字典理解力?)

python

我有一本字典,我想将每个值都转换为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对。下面的答案(已被接受)显示了如何执行此操作,并且对于具有类似于我的任务的某人,其阅读/理解比链接的相关问题的答案要清晰得多。


阅读 215

收藏
2021-01-20

共1个答案

小编典典

使用字典理解。看来您是从字典开始的,所以:

 mydict = {k: unicode(v).encode("utf-8") for k,v in mydict.iteritems()}

字典理解的示例在链接中该块的末尾附近。

2021-01-20