我从一个代码"层"接收一个字典,在将代码传递到另一个"层"之前执行一些计算/修改.原始字典的键和"字符串"值是unicode,但它们传递的层只接受str.
这将经常被调用,所以我想知道什么是最快的方式来转换像:
{ u'spam': u'eggs', u'foo': True, u'bar': { u'baz': 97 } }
Run Code Online (Sandbox Code Playgroud)
...至:
{ 'spam': 'eggs', 'foo': True, 'bar': { 'baz': 97 } }
Run Code Online (Sandbox Code Playgroud)
...请记住,非"字符串"值需要保留为原始类型.
有什么想法吗?
我目前有一个嵌套字典,如下所示:
series = {
'a': {'foo':'2', 'bar':'3', 'baz':'7', 'qux':'1'},
'b': {'foo':'6', 'bar':'4', 'baz':'3', 'qux':'0'},
'c': {'foo':'4', 'bar':'5', 'baz':'1', 'qux':'6'}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试将字符串中的值转换为整数。
我试过这种方法:
newseries = dict((k,int(v)) for k,v in series.items())
Run Code Online (Sandbox Code Playgroud)
但我得到的只是一条错误消息:
TypeError: int() argument must be a string, a bytes-like object or a number, not 'dict'
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?