【发布时间】:2014-08-28 03:40:47
【问题描述】:
我在 Python 中有一个字典列表(包含单个值和多个值的键)。
显然,数据是 unicode 格式,这是我面临的问题。
x = "..." my list of dictionaries #printing type(x) gave me "unicode"
我希望能够做到
for i in x:
print i[key]
我猜这对于 unicode 来说似乎并不简单。所以我做到了,
r = x.encode('utf8') # printing type(r) gave me "str"
但是当我这样做时
for i in r: #r here is in str format
print i[key]
我收到以下错误“TypeError: string indices must be integers, not str”
这很混乱!
【问题讨论】:
-
如果您的字典列表是一个字符串,那么
i将是一个字符,因此您将无法执行i[key] -
那么我该如何解决呢?不过,我能够在 MAC 上的 python CLI 上将其作为“str”来完成。这是最奇怪的部分。我将“x”复制到 MAC 上,类型(x)似乎是字符串。我可以像我想要的那样迭代它——也得到了正确的值。在 centOS 上我有这个问题!
标签: python list dictionary unicode encode